param( [string] [Parameter(Mandatory = $true)] $parametersfilePath, [string] [Parameter(Mandatory = $true)] $token ) if (Test-Path -Path $parametersfilePath) { $jsonModuledetails = Get-Content -Path $parametersfilePath $details = $jsonModuledetails | ConvertFrom-Json } $conditionalAccessPolicies = $details.parameters.conditionalAcessPolicies.value $Header = @{'Authorization'="Bearer $token";"Content-Type" = "application/json"} $uri = "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies" function conditionalAccessPolicies() { try{ $body = @{ "displayName"= $conditionalAccessPolicy.policyDisplayName "state"= $conditionalAccessPolicy.state "conditions"= @{ "clientAppTypes"= $conditionalAccessPolicy.clientAppTypes "applications"= @{ "includeApplications"= $conditionalAccessPolicy.includeApplications "includeUserActions"= $conditionalAccessPolicy.includeUserActions } "users"= @{ "includeUsers"= $conditionalAccessPolicy.includeUsers "excludeUsers"= $conditionalAccessPolicy.excludeUsers } "locations"= @{ "includeLocations"= $conditionalAccessPolicy.includeLocations "excludeLocations"= $conditionalAccessPolicy.excludeLocations } } "grantControls"= @{ "operator"= $conditionalAccessPolicy.grantControlOperator "builtInControls"= $conditionalAccessPolicy.grantBuiltInControls } "sessionControls"= @{ "signInFrequency"= @{ "isEnabled"= $conditionalAccessPolicy.signInFrequency.isEnabled "type"= $conditionalAccessPolicy.signInFrequency.type "value"= $conditionalAccessPolicy.signInFrequency.value } "persistentBrowser"= @{ "mode"= $conditionalAccessPolicy.persistentBrowser.mode "isEnabled"= $conditionalAccessPolicy.persistentBrowser.isEnabled } } } | ConvertTo-Json $res = Invoke-WebRequest -Headers $Header -Uri $uri -Method Post -Body $body -UseBasicParsing -Debug -Verbose } catch { Write-Information -InformationAction Continue -MessageData " Failed to add conditional access policy - $($conditionalAccessPolicy.policyDisplayName): Error- $($_.exception)" throw $_.exception } } foreach ($conditionalAccessPolicy in $conditionalAccessPolicies) { conditionalAccessPolicies }