Чтобы ответить на ваши вопросы:
- Нет, это невозможно из-за способа их синхронизации.Если Microsoft допустит изменения с обеих сторон, ей придется внедрить какую-то дублирующую систему разрешения изменений.Таким образом, они просто заблокировали изменение свойств, за исключением некоторых облачных свойств, таких как лицензии.
- Нет, не по причине, указанной выше
- Да, есть, но это довольно хакерски.
Чтобы проверить, создан ли пользователь Graph с помощью синхронизации, вы должны запросить область User.Read.All
для своего приложения, а затем сделать запрос к Получить конечную точку пользователя с помощью строки запроса select all properties ?$select=*
.
Синхронизированные пользователи *1017* должны иметь свойство OnPremisesSamAccountName
среди других, которые не отображаются у несинхронизированного пользователя.
После того, как вы узналипользователь является локальным пользователем, ваше приложение может выполнить обновление прямо в вашей AD с помощью System.DirectoryServices.AccountManagement api.