FunctionsPublic/Get-GraphDeviceCompliancePolicy.ps1
<#
.SYNOPSIS Get the configured Device Compliance policies .DESCRIPTION Retrieves all the configured Device Compliance policies within Intune .PARAMETER accessToken A Microsoft Graph API access token with the required permissions .PARAMETER nextLink Next link if paging is required #> function Get-GraphDeviceCompliancePolicy { [CmdletBinding()] param( [parameter(Mandatory=$true)][psobject]$accessToken, [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" -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-GraphDeviceCompliancePolicy -accessToken $accessToken -nextLink $responseBody.'@odata.nextLink' } return $responseResult } |