AzureAD powershell新服务主体

时间:2015-12-16 14:54:07

标签: powershell azure azure-active-directory service-principal

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

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

IdentifierUris似乎只填充APP ID URI。它需要一个数组但是当我做这样的事情时,azure会回复一个内部错误: 任

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

New-AzureAdApplication -IdentifierUris (,$arr) 

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

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

1 个答案:

答案 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

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