1

如何使用 powershell 为服务主体设置回复 URL。当我检查管理门户时,以下命令不会向该字段添加任何内容。

  • $aa = new-AzureADApplication -DisplayName "Name" -HomePage "addr" -IdentifierUris "addr"
  • 新 AzureADServicePrincipal -ApplicationId $aa.ApplicationId
  • .....设置角色等

IdentifierUris 似乎只填充 APP ID URI。它需要一个数组,但是当我做这样的事情时,天蓝色会响应一个内部错误:要么

$arr = @("addr1","addr2") 
New-AzureAdApplication -IdentifierUris $arr 

或者

New-AzureAdApplication -IdentifierUris (,$arr) 

或者

New-AzureAdApplication -IdentifierUris @("addr1","addr2") 

是否可以通过powershell设置此字段?

4

1 回答 1

1

我不知道使用 Azure PowerShell 模块执行此操作的方法,但您可以使用Azure AD(又名 MSOnline)模块中的Set-MsolServicePrincipal cmdlet 执行此操作。可以通过Addresses集合管理回复 URL。

示例(来自https://gist.github.com/rytmis/4178996):

$addresses = $principal.Addresses
$addresses.Add((New-MsolServicePrincipalAddresses -Address http://localhost:81))
$addresses.Add((New-MsolServicePrincipalAddresses -Address http://my-deployment-endpoint.cloudapp.net))
Set-MsolServicePrincipal -AppPrincipalId $appPrincipalId -Addresses $addresses

编辑(一些背景信息)

应用程序和服务主体是独立但相关的实体。(这篇文章解释了两者之间的关系)。
通过 Azure AD 门户创建应用程序时,它会同时创建应用程序和服务主体。要从 PowerShell 获得相同的结果,您必须创建这两个对象。

# Create the application object
$azureAdApplication = New-AzureRmADApplication -DisplayName "<Your Application Display Name>" `
                                             -HomePage "<https://YourApplicationHomePage>" `
                                             -IdentifierUris "<https://YouApplicationUri>"

# Create the corresponding service principal
New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId

以这种方式创建的应用程序/服务主体组合应显示在门户中,并且可以以与在门户中创建的方式相同的方式使用。

于 2015-12-16T21:41:20.700 回答