如何使用Azure AD Graph API或Microsoft Graph API更新现有用户登录名?

如何使用Azure AD Graph API或Microsoft Graph API更新现有用户登录名?,azure,azure-active-directory,microsoft-graph-api,azure-ad-graph-api,Azure,Azure Active Directory,Microsoft Graph Api,Azure Ad Graph Api,如何使用Microsoft Graph或Azure AD Graph客户端更新Azure AD中现有用户的登录名 谢谢 看起来无法通过Microsoft Graph API或Azure Graph API更新SignInName。如果PowerShell适合您的使用情况,那么使用PowerShell可能值得一试(同样,这可能有效,也可能无效)。下面每一个的详细信息 使用Microsoft Graph API更新用户登录名 这是不可能的,因为SignInNames集合甚至不可用 在Microsof

如何使用Microsoft Graph或Azure AD Graph客户端更新Azure AD中现有用户的登录名


谢谢

看起来无法通过Microsoft Graph API或Azure Graph API更新SignInName。如果PowerShell适合您的使用情况,那么使用PowerShell可能值得一试(同样,这可能有效,也可能无效)。下面每一个的详细信息

  • 使用Microsoft Graph API更新用户登录名

    这是不可能的,因为SignInNames集合甚至不可用 在Microsoft Graph中作为用户实体的一部分提供

    下面是关于这个主题的GitHub问题线程,请看结尾。

  • 使用Azure AD Graph API更新用户登录名
  • 您只能在创建用户时设置用户SignInNames集合。请参阅文档中仅提及POST和GET(无修补程序)

  • 使用PowerShell更新用户登录名

    这也许行得通,但我不确定。然后,您再次特别要求Microsoft Graph或Azure AD Graph API,因此您的场景可能不适合PowerShell


  • 您可以使用Azure AD Graph API(
    Graph.windows.net
    )作为更新来修补
    登录名

    PATCH https://graph.windows.net/{tenantId}/users/{userId}?api-version=1.6
    Content-Type: application/json
    
    BODY:
    {
        "givenName": "James Wood",
        "signInNames": [
            {
                "type": "userName",
                "value": "jamesWoodUserName"
            }
        ]
    }
    

    或者只使用GraphBeta sdk

    然后,该电子邮件位于“身份”下


    我想更新用户的登录名,而不是userprincipalName。我试图更新signInName,但在Active Directory客户端中它是只读属性,而在Microsoft Graph客户端中,该属性本身是只读的missing@prateek我已更新了答案,请查看。我无法使用powershell更新登录名。如果有的话,请分享一个样品好吗。
    > Install-Package Microsoft.Graph.Beta
    
    var users = await graphClient.Users.Request().GetAsync().ConfigureAwait(false);