如何使用powershell设置服务主体的回复URL。
当我检查管理门户时,以下命令不会向该字段添加任何内容。
IdentifierUris似乎只填充APP ID URI。它需要一个数组但是当我做这样的事情时,azure会回复一个内部错误: 任
$arr = @("addr1","addr2")
New-AzureAdApplication -IdentifierUris $arr
或
New-AzureAdApplication -IdentifierUris (,$arr)
或
New-AzureAdApplication -IdentifierUris @("addr1","addr2")
是否可以通过powershell设置此字段?
答案 0 :(得分:0)
我不知道如何使用Azure PowerShell模块执行此操作,但您可以使用Azure AD(也称为MSOnline)模块中的Set-MsolServicePrincipal cmdlet执行此操作。可以通过Addresses
集合管理回复网址。
示例(来自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
修改(某些背景信息)
应用程序和服务主体是独立但相关的实体。 (This article解释了两者之间的关系。) 通过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
应用程序/服务以这种方式创建的主体组合应该显示在门户中,并且可以与在门户中创建的方式相同的方式使用。