使用Microsoft Graph API的本地用户配置文件更新

时间:2019-04-12 07:54:13

标签: azure-active-directory microsoft-graph azure-ad-b2c azure-ad-graph-api

我们的应用程序中有一个屏幕,该屏幕用于通过Graph API更新Azure AD用户。如果使用Azure Portal或Graph API创建用户,则可以使用此屏幕更新用户配置文件。

但是,如果在更新这些用户时使用AD Connect创建/同步用户(例如,对于O365用户),Microsoft Graph将返回以下错误:

  

无法为本地已掌握的目录同步对象或当前正在迁移的对象更新指定的属性

我有以下查询:

  1. 是否可以通过从本地到Azure AD创建的Graph API更新用户?
  2. azure门户或广告连接上是否有任何设置可让用户 是通过Graph API更新的?
  3. 还如何区分是通过Microsoft Graph API在本地还是在Azure AD上创建用户。 Microsoft.Graph.User类中的任何属性?

1 个答案:

答案 0 :(得分:1)

要回答您的问题:

  1. 由于它们的同步方式,这不可能。如果Microsoft允许双方进行更改,则必须实施某种重复的更改解析系统。因此,他们只是阻止更改属性,除了某些仅云属性(如许可证)。
  2. 没有由于上述原因
  3. 是的,但是有点黑。

要查看是否通过同步创建了Graph用户,您应该为应用程序请求User.Read.All范围,然后使用全选属性querystring ?$select=*Get user endpoint进行请求

已同步 的用户应具有OnPremisesSamAccountName属性,以及其他未出现在未同步的用户上的属性。

一旦发现用户是本地用户,您的应用程序就可以使用 System.DirectoryServices.AccountManagement API直接对您的广告进行更新。