我们的应用程序中有一个屏幕,用于通过Graph API更新Azure AD用户。如果用户是使用Azure Portal或Graph API创建的,我可以使用此屏幕更新用户配置文件。
但是,如果用户使用AD Connect创建/同步(例如在O365用户的情况下),则在更新这些用户时Microsoft Graph会返回以下错误:
无法更新内部部署的主控目录同步对象或当前正在进行迁移的对象的指定属性
我有以下问题:
回答你的问题:
要查看是否通过同步创建了Graph用户,您应该为您的应用程序请求User.Read.All
范围,然后使用select all properties querystring Get user endpoint向?$select=*
请求。
已同步的用户应具有OnPremisesSamAccountName
属性以及未出现在未同步用户上的其他属性。
一旦您发现用户是内部部署用户,您的应用程序就可以使用System.DirectoryServices.AccountManagement api直接更新到您的AD。