更改VSO用户的登录地址

更改VSO用户的登录地址

问题描述:

我们有一个由Azure的目录下备份(即从内部部署的Active Directory同步)一个Visual Studio Online帐户。由于各种原因,我不会进入:更改VSO用户的登录地址

  • 原本在Azure目录与形式“[email protected]”账户同步(即没有在名称部分点)。

  • VSO邀请已发送给用户,使用他们的地址的无点形式,并且我们在几个月内一直很开心地使用VSO。

  • 我们的基础设施团队现在要使用的目录名的虚线版本,所以“[email protected]”,在我们的Azure的目录。

我试图找到一种方法,将所有我们现有的VSO用户的登录地址更改为其名称的虚线版本。我一直在尝试使用“Microsoft.VisualStudio.Services.Identity.Client”库,这使得这些变化如下代码:

using Microsoft.TeamFoundation; 
using Microsoft.TeamFoundation.Framework.Common; 
using Microsoft.VisualStudio.Services.Client; 
using Microsoft.VisualStudio.Services.Identity; 
using Microsoft.VisualStudio.Services.Identity.Client; 

public static void Main(string[] args) 
{ 
    UpdateUser(); 
} 

private static void UpdateUser() 
{ 
    var vssAccountUrl = "https://ourVssAccount.vssps.visualstudio.com/"; 
    var creds = new VssClientCredentials(false); 
    var vssConnection = new VssConnection(new Uri(vssAccountUrl), creds); 
    var identityClient = vssConnection.GetClient<IdentityHttpClient>(); 

    var user = identityClient.ReadIdentitiesAsync(IdentitySearchFilter.DisplayName, "Joe Bloggs").Result.FirstOrDefault(); 
    user.SetProperty("Account", "[email protected]"); 
    user.SetProperty("Mail", "[email protected]"); 

    var t = identityClient.UpdateIdentityAsync(user, null).Result; 
    Console.Write(user); 
} 

的调用来创建一个新的连接产生一个提示让我签字在,我这样做。我是VSO的管理员。到UpdateIdentityAsync呼叫虽然产生以下异常:

{"Access Denied: Mashton needs the following permission(s) to perform this action: Edit collection-level information"}

检查我的内VSO特定的权限我这些权限,因为我对整个团队发现服务器的管理员。

是例外误导性:它真正需要的权限,别的地方? 更改与VSO用户关联的登录地址的可接受方式是什么?

是否所有点的票据地址已更改为在Azure中目录的目录名的虚线版本?如果该地址已经于您的Azure的目录被更改,您可以:

1.Disconnect您的帐户的目录。

2.Reconnect帐户到你想要的目录。您可以参考