更改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帐户到你想要的目录。您可以参考