Личное обновление профиля пользователя с использованием Microsoft Graph API - PullRequest
0 голосов
/ 12 апреля 2019

в нашем приложении есть экран, который используется для обновления пользователей Azure AD через Graph API. Если пользователи создаются с помощью Azure Portal или Graph API, я могу обновить профиль пользователя с помощью этого экрана.

Но если пользователь создается / синхронизируется с помощью AD Connect (например, в случае пользователей O365) при обновлении этих пользователей, Microsoft Graph возвращает следующую ошибку:

Невозможно обновить указанные свойства для локальных основных объектов синхронизации каталогов или объектов, которые в настоящее время переносятся

У меня есть следующие запросы:

  1. Можно ли обновить пользователя с помощью Graph API, созданного из локальной среды в Azure AD?
  2. Есть ли на портале Azure или в Ad connect какие-либо настройки, позволяющие пользователю обновляется через Graph API?
  3. Также Как узнать разницу между созданием пользователя локально или в Azure AD через Microsoft Graph API. Любой атрибут в классе Microsoft.Graph.User?

1 Ответ

1 голос
/ 12 апреля 2019

Чтобы ответить на ваши вопросы:

  1. Нет, это невозможно из-за способа их синхронизации.Если Microsoft допустит изменения с обеих сторон, ей придется внедрить какую-то дублирующую систему разрешения изменений.Таким образом, они просто заблокировали изменение свойств, за исключением некоторых облачных свойств, таких как лицензии.
  2. Нет, не по причине, указанной выше
  3. Да, есть, но это довольно хакерски.

Чтобы проверить, создан ли пользователь Graph с помощью синхронизации, вы должны запросить область User.Read.All для своего приложения, а затем сделать запрос к Получить конечную точку пользователя с помощью строки запроса select all properties ?$select=*.

Синхронизированные пользователи *1017* должны иметь свойство OnPremisesSamAccountName среди других, которые не отображаются у несинхронизированного пользователя.

После того, как вы узналипользователь является локальным пользователем, ваше приложение может выполнить обновление прямо в вашей AD с помощью System.DirectoryServices.AccountManagement api.

...