Azure active directory 使用Microsoft Graph API进行本地用户配置文件更新

Azure active directory 使用Microsoft Graph API进行本地用户配置文件更新,azure-active-directory,microsoft-graph-api,azure-ad-b2c,azure-ad-graph-api,Azure Active Directory,Microsoft Graph Api,Azure Ad B2c,Azure Ad Graph Api,我们的应用程序中有一个屏幕,用于通过Graph API更新Azure广告用户。如果用户是使用Azure Portal或Graph API创建的,我可以使用此屏幕更新用户配置文件 但是,如果在更新这些用户时使用AD Connect创建/同步用户(例如O365用户),Microsoft Graph将返回以下错误: 无法更新本地主目录同步对象或当前正在迁移的对象的指定属性 我有以下疑问: 是否可以通过从本地创建的Graph API将用户更新到Azure AD azure portal或Ad conne

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

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

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

我有以下疑问:

  • 是否可以通过从本地创建的Graph API将用户更新到Azure AD
  • azure portal或Ad connect上是否有允许用户访问的任何设置 通过图形API更新
  • 另外,如何区分用户是在本地创建的还是通过Microsoft Graph API在Azure AD上创建的。Microsoft.Graph.User类中有任何属性吗

  • 回答您的问题:

  • 不,这是不可能的,因为它们是同步的。如果微软允许双方都进行变更,它就必须实施某种重复的变更解决系统。因此,他们只是阻止更改除某些仅限云的属性(如许可证)以外的属性
  • 不,因为上面的原因没有
  • 是的,有,但有点粗糙
  • 要查看是否通过同步创建了图形用户,您应该请求应用程序的
    用户.Read.All
    作用域,然后使用选择所有属性查询字符串
    ?$select=*
    ,请求

    在非同步用户上未显示的其他用户中,同步用户应具有
    OnPremisesSamAccountName
    属性


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

    谢谢您的回复。目前我正在使用onPremisesDomainName来检查用户是否在本地。你能解释一下你答案的最后一段吗。我的应用程序如何使用System.DirectoryServices.AccountManagement api更新本地用户它是一个web应用程序。它是否在您自己的服务器上运行?您还可以创建自己的“代理”内部运行的web应用程序,以便它可以访问您的广告。或者保存对某些数据库/队列的更改,并创建一个同步命令行应用程序,您可以使用具有域写入访问权限的特殊帐户在本地运行。azure上没有应用程序注册为PAAS,而Windows Server广告由另一家公司/供应商维护。目前,我的团队决定不更新本地用户,因为在我们的场景中,此时似乎不可能更新。