Я могу использовать 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.