Public/New-GraphGroupPolicyConfigurationAssignment.ps1
function New-GraphGroupPolicyConfigurationAssignment() { <# .SYNOPSIS New Intune Group Policy Configuration Assignment through Microsoft Graph .DESCRIPTION https://docs.microsoft.com/en-us/graph/api/intune-grouppolicy-grouppolicyconfiguration-assign?view=graph-rest-beta .PARAMETER Id The Id of the Group Policy Configuration we are targeting the assignments to. .PARAMETER RequestBody Group Policy Configuration Assignment Body as JSON .PARAMETER ApiVersion API version to query #> [cmdletbinding()] param( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName)] [string]$Id, [Parameter(Mandatory = $false)] [string]$RequestBody, [Parameter(Mandatory = $false)] [ValidateSet("v1.0", "beta")] [string]$ApiVersion = "beta" ) process { try { # Check if a Graph Auth Token is available in the Module scope (from the Get-GraphAuthToken function) if ($moduleScopeGraphAuthHeader) { $authHeader = $moduleScopeGraphAuthHeader } else { Write-Output "Connect to Microsoft Graph using Connect-Graph first." } $uri = "https://graph.microsoft.com/$apiVersion/deviceManagement/groupPolicyConfigurations/$id/assign" $uri $query = Invoke-RestMethod -Uri $uri -Headers $authHeader -Body $requestBody -Method Post -ContentType "application/json" -ErrorAction Stop return $query } catch { Write-Error $_ $streamReader = New-Object System.IO.StreamReader($_.Exception.Response.GetResponseStream()) $streamReader.BaseStream.Position = 0 $streamReader.DiscardBufferedData() $responseBody = $streamReader.ReadToEnd() Write-Error "Request to $($_.Exception.Response.ResponseUri) failed with HTTP Status $($_.Exception.Response.StatusCode) $($_.Exception.Response.StatusDescription). `nResponse content: `n$responseBody" } } } |