@@ -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 }
0 commit comments