Connect-MSGraph | Out-Null $Detection = "Detection.ps1" $Remediation = "Remediation.ps1" $path = "c:\temp\pro" $graphApiVersion = "Beta" $graphUrl = "https://graph.microsoft.com/$graphApiVersion" $result = Invoke-MSGraphRequest -Url "$graphUrl/deviceManagement/deviceHealthScripts" -HttpMethod GET $scriptIds = $result.value | Select-Object id,fileName foreach($scriptId in $scriptIds){ $script = Invoke-MSGraphRequest -Url "$graphUrl/deviceManagement/deviceHealthScripts/$($scriptId.id)" -HttpMethod GET [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($($script.DetectionscriptContent))) | Out-File -Encoding ASCII -FilePath $(Join-Path $path $($script.displayname+$Detection)) [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($($script.RemediationscriptContent))) | Out-File -Encoding ASCII -FilePath $(Join-Path $path $($script.displayname+$Remediation)) }