Я пытаюсь обновить имя участника-пользователя Azure AD (загруженного с помощью Azure AD Connect) в федеративном домене через MS Graph, используя библиотеку .Net ADAL в Powershell. Я достаточно уверен, что у меня все настроено правильно в Azure и в PS, потому что, если я выдам команду на обновление атрибута useLocation, она сработает (обрезано для краткости):
$UPN="[email protected]"
$Body=@{UsageLocation="JP"} | ConvertTo-JSON
$Result=Invoke-RestMethod -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/${UPN}" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json" -Body $Body
$user=Invoke-RestMethod -Method GET -Uri "https://graph.microsoft.com/v1.0/users/${UPN}?`$select=usageLocation" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json"
$user.usageLocation
JP
Но если я попытаюсь обновить имя участника-пользователя на нефедеративный домен (чтобы не столкнуться с проблемой, описанной в http://blogs.perficient.com/microsoft/2013/03/change-upn-for-office-365-account-between-two-sso-domains/), я получаю внутреннюю ошибку сервера (500):
$UPN="[email protected]"
$Body=@{userPrincipalName="[email protected]"} | ConvertTo-JSON
$Result=Invoke-RestMethod -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/${UPN}" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json" -Body $Body
Invoke-RestMethod : The remote server returned an error: (500) Internal Server Error.
Я пробовал много разных вариантов, включая получение GUID Azure AD и использование его вместо имени участника-пользователя в команде PATCH, а также использование более старого графика Azure AD (который возвращает ту же ошибку 500). Я могу внести изменения с помощью команд Powershell O365:
Set-MsolUserPrincipalName -UserPrincipalName $UPN -NewUserPrincipalName $newUPN
но я не могу заставить его работать через MS Graph. Документы для графа подразумевают, что имя участника-пользователя может быть обновлено, как и другие атрибуты (cv http://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_update, например). Мне интересно, может быть, из-за того, что UPN является ключом, обновление не работает? Я также не думаю, что это проблема с разрешениями, обычно они выдают «Недостаточно прав для завершения операции». это не то, что я вижу.
Спасибо!
UPDATE1: вот все, что я могу выудить из объекта Error из повторной попытки сегодня утром:
{
"error": {
"code": "Service_InternalServerError",
"message": "Encountered an internal server error.",
"innerError": {
"request-id": "cbb08d3c-1143-4d0b-8722-5230b00bd00f",
"date": "2016-02-15T16:48:15"
}
}
}