Согласно вашему коду вы можете потерять авторизованный токен в вашем коде. Так что это не работает с использованием -ContentType "application / json".
С другой стороны, мы также можем использовать другой способ авторизации кода: просто включите Разрешить сценариям доступ к токену OAuth , и скрипт сможет получить доступ к токену OAuth через System.AccessToken переменная.
Вот полный код, который может правильно получить файл Json, который был изменен на основе вашего кода (с System.AccessToken, а не PAT):
$strURL = "https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionid}?api-version=5.0-preview.7"
$filePath="D:\"
$fileName=$filePath+"\build.json"
$pipeline =Invoke-RestMethod -Uri $strURL -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -Method GET -OutFile $fileName
Перед локальной загрузкой файла Json вы можете использовать
Write-Host "Pipeline = $($pipeline | ConvertTo-Json -Depth 100)"
чтобы проверить, соответствует ли вывод в журналах PowerShell Script.