private/tenantinfo/devices/Add-ZtDeviceWindowsEnrollment.ps1
<# .SYNOPSIS Add Windows enrollment summary used in Devices config view. #> function Add-ZtDeviceWindowsEnrollment { [CmdletBinding()] param ( ) $activity = "Getting Windows enrollment summary" Write-ZtProgress -Activity $activity -Status "Processing" $policies = Invoke-ZtGraphRequest -RelativeUri 'Policies/MobileDeviceManagementPolicies' -QueryParameters @{ '$expand' = 'includedGroups' } -ApiVersion 'beta' # Sort policies by AppliesTo (descending) then by DisplayName (ascending) $sortedPolicies = $policies | Sort-Object @{Expression='appliesTo';Descending=$true}, @{Expression='displayName';Ascending=$true} # Create the table data structure $tableData = @() foreach ($policy in $sortedPolicies) { # Determine group names display $groupNames = if ($policy.appliesTo -eq 'selected' -and $policy.includedGroups) { ($policy.includedGroups | ForEach-Object { $_.displayName }) -join ', ' } else { 'Not Applicable' } # Convert AppliesTo to friendly name $appliesToName = switch ($policy.appliesTo) { 'all' { 'All' } 'selected' { 'Selected' } 'none' { 'None' } default { $policy.appliesTo } } $tableData += [PSCustomObject]@{ Type = 'MDM' PolicyName = $policy.displayName AppliesTo = $appliesToName Groups = $groupNames } } Add-ZtTenantInfo -Name "ConfigWindowsEnrollment" -Value $tableData Write-ZtProgress -Activity $activity -Status "Completed" } |