#powershell #azure-active-directory
#powershell #azure-active-directory
Вопрос:
Я пытаюсь получить список пользователей из нашего клиента Azure AD. В настоящее время я использую Get-AzureAdUser
который возвращает почти все, что мне нужно. Однако мне также нужно знать менеджера каждого пользователя, который не отображается в ответе от Get-AzureAdUser
. В настоящее время я не смог найти это, не выполнив отдельный вызов другого командлета, Get-AzureAdUserManager
. Это значительно замедляет весь процесс. Очевидно, что я хотел бы ограничить это одним звонком и получить все необходимые данные за один раз. Возможно ли это в любом случае?
Заранее спасибо за вашу помощь!
Ответ №1:
AFAIK вы не сможете получить информацию о пользователе, а также информацию об их менеджере за один вызов с помощью Get-AzureADUser
АЛЬТЕРНАТИВЫ
Azure AD Graph API
Это API, который PowerShell также использует за кулисами. Здесь вы можете использовать $expand
operator get ресурс и некоторые его навигационные свойства за один вызов.
https://graph.windows.net/myorganization/users?$expand=manageramp;api-version=1.6
or
https://graph.windows.net/{tenant-id}/users?$expand=manageramp;api-version=1.6
Вы можете быстро опробовать этот запрос в Azure AD Graph Explorer.
Пожалуйста, знайте, что это может усложнить возврат большого количества данных, тем более, что я не видел, чтобы $expand и $select работали вместе, чтобы возвращать только те поля, которые вас интересуют. Это было бы продуманным решением для вашего случая.
ПРИМЕЧАНИЕ: В большинстве случаев рекомендуется использовать более новый Microsoft Graph API поверх Azure AD Graph API, подробнее читайте здесь Microsoft Graph или Azure AD Graph . Ваш конкретный случай таков, что требуемый запрос не поддерживается конечной точкой версии v1.0 для Microsoft Graph API, поэтому я упомянул Azure AD Graph API. Смотрите это в следующем разделе.
Microsoft Graph API
Microsoft Graph API может помочь вам запросить информацию о пользователе. Отдельные API для запроса пользователя и менеджера — это пользователи списка и менеджер списка
Что еще более интересно, с помощью Microsoft Graph API вы можете использовать $expand
operator, чтобы попытаться получить ресурс и некоторые из его навигационных свойств за один вызов.
https://graph.microsoft.com/beta/users?$expand=manager
Вы можете быстро попробовать это в Microsoft Graph Explorer.
ПРИМЕЧАНИЕ: Пожалуйста, обратите внимание, что я использую конечную точку бета-версии здесь. Не рекомендуется использовать бета-API конечных точек с производственным кодом.
Тот же запрос не поддерживается стабильной конечной точкой версии v1.0, и поэтому я рекомендовал Azure AD Graph API выше.
/* Does NOT work */
https://graph.microsoft.com/v1.0/users?$expand=manager
Комментарии:
1. Большое вам спасибо, я считаю, что это лучший вариант для того, чего я пытаюсь достичь. Спасибо за ваш подробный ответ!