我們有一個由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用戶關聯的登錄地址的可接受方式是什麼?