Azure active directory 更改VSO用户';s登录地址

Azure active directory 更改VSO用户';s登录地址,azure-active-directory,azure-devops,Azure Active Directory,Azure Devops,我们有一个VisualStudio在线帐户,该帐户由Azure目录(从本地Active Directory同步)支持。出于各种原因,我将不深入讨论: 最初Azure目录与表单中的帐户同步”joebloggs@ourdomain.com“(即名称部分中没有点) VSO邀请是用用户地址的无点形式发送给用户的,几个月来我们一直很高兴地使用VSO 我们的基础设施团队现在希望使用虚线版本的目录名,所以“joe”。bloggs@ourdomain.com,在我们的Azure目录中 我正在试图找到一种方法

我们有一个VisualStudio在线帐户,该帐户由Azure目录(从本地Active Directory同步)支持。出于各种原因,我将不深入讨论:

  • 最初Azure目录与表单中的帐户同步”joebloggs@ourdomain.com“(即名称部分中没有点)

  • VSO邀请是用用户地址的无点形式发送给用户的,几个月来我们一直很高兴地使用VSO

  • 我们的基础设施团队现在希望使用虚线版本的目录名,所以“joe”。bloggs@ourdomain.com,在我们的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", "joe.bloggs@rspb.org.uk");
  user.SetProperty("Mail", "joe.bloggs@rspb.org.uk");

  var t = identityClient.UpdateIdentityAsync(user, null).Result;
  Console.Write(user);
}
使用Microsoft.TeamFoundation;
使用Microsoft.TeamFoundation.Framework.Common;
使用Microsoft.VisualStudio.Services.Client;
使用Microsoft.VisualStudio.Services.Identity;
使用Microsoft.VisualStudio.Services.Identity.Client;
公共静态void Main(字符串[]args)
{
UpdateUser();
}
私有静态void UpdateUser()
{
var vssAccountUrl=”https://ourVssAccount.vssps.visualstudio.com/";
var creds=新的VssClientCredentials(false);
var vssConnection=新的vssConnection(新Uri(vssAccountUrl),creds);
var identityClient=vssConnection.GetClient();
var user=identityClient.ReadIdentitiesAsync(IdentitySearchFilter.DisplayName,“Joe Bloggs”).Result.FirstOrDefault();
user.SetProperty(“帐户”、“乔”。bloggs@rspb.org.uk");
SetProperty(“邮件”,“乔”。bloggs@rspb.org.uk");
var t=identityClient.UpdateIdentityAsync(用户,null).Result;
Console.Write(用户);
}
创建新连接的调用将生成一个提示,提示我登录,我会这样做。我是VSO的管理员。调用
UpdateIdentityAsync
Through会产生以下异常:

{“拒绝访问:Mashton需要以下权限才能执行此操作:编辑集合级别信息”}

在VSO中检查我的特定权限我确实拥有这些权限,因为我是整个Team Found服务器的管理员

这个异常是否具有误导性:它真的需要其他地方的权限吗?
更改与VSO用户关联的登录地址的公认方法是什么?

Azure目录中的所有无点表单地址是否都已更改为点状版本的目录名?如果Azure目录中的地址已更改,您可以:

1.断开帐户与目录的连接

2.将您的帐户重新连接到所需的目录

您可以参考的详细步骤