为了自动化我们的构建过程,我一直在寻找通过Power shell脚本更改现有Active Directory应用程序的“回复URL”的可能性. 官方documentation只描述了一种方法,如何在门户网站的帮助下改变它. 关于
官方documentation只描述了一种方法,如何在门户网站的帮助下改变它.
关于这个话题已经有了Github issue.但也许有人在过去面临类似的问题并解决了它?
或者,您可以将以下脚本放在控制台应用程序中,然后从Powershell脚本中调用此程序.首先,包括nuget包Microsoft.Azure.ActiveDirectory.GraphClient.
//First, log in into Azure: Uri servicePointUri = new Uri("https://graph.windows.net"); Uri serviceRoot = new Uri(servicePointUri, "YourTenantId"); ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(serviceRoot, async () => await AcquireTokenAsyncForUser("YourTenant.onmicrosoft.com", "ClientIdForThisApplication")); //A popup will now be shown to you, requiring you to log in into the AAD. //Find your application var existingApp = activeDirectoryClient.Applications.Where(s => s.DisplayName == "NameOfYourApplication").Take(1).ExecuteAsync().Result; if (existingApp != null && existingApp.CurrentPage != null && existingApp.CurrentPage.Count == 1) { //Application found var app = existingApp.CurrentPage.First(); //Change the Reply Url app.ReplyUrls.Clear(); app.ReplyUrls.Add("http://YourNewReplyUrl/"); app.UpdateAsync().Wait(); }
有关您需要更改的内容的更多详细信息:
> YourTenantId,这是用于标识您的azure活动目录(AAD)的GUID.
> YourTenant.onmicrosoft.com,基本上这是您的AAD的名称,后跟“.onmicrosoft.com”.
> ClientIdForThisApplication,您必须手动在应用程序下的AAD中添加上述控制台应用程序. (作为Native Client应用程序).在“配置”选项卡中,您将找到此应用程序的客户端ID.这只需要完成一次,您可以继续使用此应用程序(及其客户端ID)进行所有构建.
> NameOfYourApplication,您希望更改的应用程序的名称,如您在AAD中所知.
> http:// YourNewReplyUrl /,您的新回复网址.
(小披露,我已经从我现有的代码中删除了上述代码,我想我已经复制了所有必需的内容,但我没有测试过上述结果.)