FunctionsPublic/Get-GraphDeviceCompliancePolicyAssignment.ps1
<#
.SYNOPSIS Get the configured Intune Device Compliance policy assignments .DESCRIPTION Retrieves all the configured Device Compliance policy assignments within Intune .PARAMETER accessToken A Microsoft Graph API access token with the required permissions .PARAMETER deviceCompliancePolicyID The device compliance policy ID to get the assignments for .PARAMETER nextLink Next link if paging is required #> function Get-GraphDeviceCompliancePolicyAssignment { [CmdletBinding()] param( [parameter(Mandatory=$true)][psobject]$accessToken, [parameter(Mandatory=$true)][string]$deviceCompliancePolicyID, [parameter(Mandatory=$false)][string]$nextLink ) # # Get all existing groups # if($nextLink.Length -eq 0) { $responseBody = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicies/$($deviceCompliancePolicyID)/assignments" -Headers @{"Authorization" = "Bearer $($accessToken.AccessTokenCredential.GetNetworkCredential().password)"} } else { $responseBody = Invoke-RestMethod -Uri $nextLink -Headers @{"Authorization" = "Bearer $($accessToken.AccessTokenCredential.GetNetworkCredential().password)"} } if($null -eq $responseBody.id) { $responseResult = $responseBody.value } else { $responseResult = $responseBody } # # Retrieve additional results when there are additional results available # if($responseBody.'@odata.nextLink'.Length -gt 0) { $responseResult += Get-GraphDeviceCompliancePolicyAssignment -accessToken $accessToken -nextLink $responseBody.'@odata.nextLink' } return $responseResult } |