Метод GRAPH Patch не работает в PowerShell, но работает нормально в Graph Explorer - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь редактировать группы с powershell и AppID, в частности, группу Team, в которой отсутствует атрибут resourceProvisioningOptions = "team", и он только один раз работал во вновь созданной группе O365, но теперь метод PATCH возвращает "Указанный метод HTTP недопустим для цели запроса ", когда я пытаюсь повторить попытку

Даже если я пытаюсь обновить описание, он завершается неудачно с той же ошибкой, поэтому я не думаю, что он относится к свойству

Если я запускаю точные команды в графическом обозревателе, это работает

Я настроил идентификатор приложения в AzureAd для автоматизации и создания сценария GRAPH с целью отойти от традиционных инструментов powershell.

Я могу создавать базовые сценарии для объектов GET и их свойств и успешно отправил одну команду PATCH для обновления свойства группы resourceProvisioningOptions. Однако с тех пор любой запрос PATCH завершается с ошибкой

Я новичок в этом, поэтому любая помощь будет оценена

$AppId = 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx'
$AppSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
$Scope = "https://graph.microsoft.com/.default"
$TenantName = "ourtenancy.onmicrosoft.com"
$TeamName = "MyTeamName"

$Url = "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token"

Add-Type -AssemblyName System.Web

$Body = @{
client_id = $AppId
client_secret = $AppSecret
scope = $Scope
grant_type = 'client_credentials'
}

$PostSplat = @{
ContentType = 'application/x-www-form-urlencoded'
Method = 'POST'
Body = $Body
Uri = $Url
}

$Request = Invoke-RestMethod @PostSplat

$Header = @{
Authorization = "$($Request.token_type) $($Request.access_token)"
}

$TeamURI = 'https://graph.microsoft.com/v1.0/groups?    $filter=startswith(displayname,' + "'$TeamName'"     +')&$select=displayname,renewedDateTime,resourceProvisioningOptions,id'    
$TeamRequest = Invoke-RestMethod -Uri $TeamURI -Headers $Header -Method     get -ContentType "application/json"
$TeamID = $TeamRequest.value.id
$TeamFixURI = 'https://graph.microsoft.com/v1.0/groups/' + $TeamID

Invoke-RestMethod -Uri $TeamFixURI -Headers $Header -Method "PATCH" -body     '{"resourceProvisioningOptions":["Team"]}' -ContentType "application/json"

Это должно обновить атрибут resourceProvisioningOptions, но генерирует ошибку. Если я запускаю это в GRAPH Explorer, он работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...