Как получить список пользователей вместе с информацией о менеджере за один вызов через Get-AzureAdUser?

#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. Большое вам спасибо, я считаю, что это лучший вариант для того, чего я пытаюсь достичь. Спасибо за ваш подробный ответ!