使用Microsoft Graph API进行内部部署用户配置文件更新

问题描述 投票:0回答:1

我们的应用程序中有一个屏幕,用于通过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类中的任何属性?
azure-active-directory microsoft-graph azure-ad-b2c azure-ad-graph-api
1个回答
1
投票

回答你的问题:

  1. 不可能因为它们被同步的方式而不可能。如果微软允许双方进行更改,则必须实施某种重复的更改解决方案系统。所以他们只是阻止了更改属性,除了一些仅限云的属性,如许可证。
  2. 不,因为上述原因没有
  3. 是的,但它有点hacky。

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

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

一旦您发现用户是内部部署用户,您的应用程序就可以使用System.DirectoryServices.AccountManagement api直接更新到您的AD。

© www.soinside.com 2019 - 2024. All rights reserved.