Get-AzureDomain, GetAzureADUser и т. Д. Возвращают Authentication_Unauthorized, пользователь не найден - PullRequest
0 голосов
/ 11 января 2019

Я могу использовать PowerShell для аутентификации на созданном мною ресурсе Azure AD, где я являюсь глобальным администратором. Я выполняю эту команду для аутентификации с помощью AD

$AzureADCred = Get-Credential -Message "Cred to connect to AD"
Connect-AzureAD -Credential $AzureADCred

Это возвращает мои Account, SubscriptionName, TenantID и AccountType (пользователь), которые, по-видимому, указывают на то, что мой логин связан с определенным арендатором. Затем я могу выполнить эту команду:

Get-AzureADCurrentSessionInfo

Однако все остальные запросы AzureAD, которые я пробовал, не выполняются. Это включает в себя:

Get-AzureADUser -SearchString "XXX"
Get-AzureADCurrentSessionInfo
Get-AzureADtenantdetail
Get-AzureADDomain

Состояние сообщения об ошибке (например)

Get-AzureADDomain: ошибка при выполнении GetDomains

Код: Authentication_Unauthorized

Сообщение: пользователь не найден

Может показаться, что у меня правильные права на управление и я подключен к правильному арендатору. Что еще мне нужно сделать, чтобы иметь возможность выполнять эти команды?


Я вернулся и попытался добавить tenantID, но безуспешно. Я не уверен, почему это будет работать, так как даже когда я вхожу без tenantID,

Get-AzureADCurrentSessionInfo

возвращает acct и tenant, поэтому похоже, что мой логин правильно связан с арендатором при первоначальном входе Я мог видеть, где это было бы проблемой, если бы этот логин был связан с несколькими арендаторами. Когда я переключился на пользователя, которого я создал в AD, чтобы он имел домен AD xxx.onmicrosoft.com и сделал этого пользователя глобальным администратором, я мог выполнить все команды, которые не были выполнены, с другим идентификатором пользователя. Хотя оба пользователя являются глобальными администраторами, только пользователь в моем домене AD может выполнять эти команды. Возможно, это не очень известное ограничение пользователей AD, которые не находятся в домене AD. Или, может быть, есть команда Powershell, которую мне нужно запустить, чтобы дать этому пользователю дополнительные привилегии? Обновление. Я также пытался повторить эту проблему с помощью облачной оболочки Azure, но обнаружил, что любой пользователь AD с правами глобального администратора, независимо от домена, может выполнять диапазон команд AzureAD. На этом этапе я пришел к выводу, что существует проблема с моей локальной установкой Powershell, но я не могу найти какую-либо документацию о том, что именно это за проблема. Поэтому пока, при возникновении этой проблемы, я рекомендую обходной путь запуска команд AzureAD под глобальным ID пользователя-администратора, который находится в том же домене, что и AD.

1 Ответ

0 голосов
/ 11 января 2019

Я могу воспроизвести вашу проблему на моей стороне, я полагаю, вы используете учетную запись пользователя Guest, например, xxx@hotmail.com, если вы Connect-AzureAD без параметра -TenantId, он не будет регистрироваться в клиенте, как xxx.onmicrosoft.com по умолчанию.

enter image description here

Чтобы исправить проблему, ваша команда должна быть Connect-AzureAD -Credential $AzureADCred -TenantId "<your TenantId>", тогда она будет работать.

enter image description here

...