Skip to content

Commit 66e7da5

Browse files
committed
Bring in tenant deviations into calculation and expose confirmed deviations
1 parent 2161569 commit 66e7da5

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

Modules/CIPPCore/Public/Functions/Get-CIPPTenantAlignment.ps1

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,27 @@ function Get-CIPPTenantAlignment {
400400
if ($item.ReportingDisabled) { $ReportingDisabledStandardsCount++ }
401401
}
402402

403+
# For drift templates, include all policy deviation entries from tenantDrift table in alignment score
404+
# Accepted/CustomerSpecific count as compliant, all others (New, Denied, etc.) count as non-compliant
405+
$CurrentDeviationsCount = $null
406+
if ($IsDriftTemplate) {
407+
$PolicyDeviationCompliant = 0
408+
$PolicyDeviationNonCompliant = 0
409+
foreach ($DriftKey in $TenantDriftStatuses.Keys) {
410+
if ($DriftKey -like 'IntuneTemplates.*' -or $DriftKey -like 'ConditionalAccessTemplates.*') {
411+
if ($TenantDriftStatuses[$DriftKey] -in @('Accepted', 'CustomerSpecific')) {
412+
$PolicyDeviationCompliant++
413+
} else {
414+
$PolicyDeviationNonCompliant++
415+
}
416+
}
417+
}
418+
$AllCount += $PolicyDeviationCompliant + $PolicyDeviationNonCompliant
419+
$CompliantStandards += $PolicyDeviationCompliant
420+
$NonCompliantStandards += $PolicyDeviationNonCompliant
421+
$CurrentDeviationsCount = $PolicyDeviationNonCompliant
422+
}
423+
403424
$AlignmentPercentage = if (($AllCount - $ReportingDisabledStandardsCount) -gt 0) {
404425
[Math]::Round(($CompliantStandards / ($AllCount - $ReportingDisabledStandardsCount)) * 100)
405426
} else {
@@ -429,6 +450,7 @@ function Get-CIPPTenantAlignment {
429450
LicenseMissingStandards = $LicenseMissingStandards
430451
TotalStandards = $AllCount
431452
ReportingDisabledCount = $ReportingDisabledStandardsCount
453+
CurrentDeviationsCount = $CurrentDeviationsCount
432454
LatestDataCollection = if ($LatestDataCollection) { $LatestDataCollection } else { $null }
433455
ComparisonDetails = $ComparisonResults
434456
}

Modules/CIPPHTTP/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListTenantAlignment.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ function Invoke-ListTenantAlignment {
9292
alignmentScore = $_.AlignmentScore
9393
LicenseMissingPercentage = $_.LicenseMissingPercentage
9494
combinedAlignmentScore = $_.CombinedScore
95+
currentDeviationsCount = $_.CurrentDeviationsCount
9596
latestDataCollection = $_.LatestDataCollection
9697
}
9798
}

0 commit comments

Comments
 (0)