1)-ServicePrincipalName参数不应该(如链接中的示例所示)是客户端ID(Guid),而是AD应用标识符Uri(您可以在AD App的属性页面上找到它)
2)如果您未使用门户创建AD应用程序,但是已从Powershell Azure Resource Manager脚本创建它,则尚未为您的AD应用程序创建服务主体 . 在运行Set-AzureRmKeyVaultAccessPolicy之前,必须使用New-AzureRmADServicePrincipal cmdlet执行此操作 .
总的来说,你应该拥有
$app = New-AzureRmADApplication -DisplayName "Test" -HomePage "http://myapp.contoso.com" -IdentifierUris "http://myapp.contoso.com" -Password "password"
New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId
Set-AzureRmKeyVaultAccessPolicy -VaultName "vaultname" -ServicePrincipalName "http://myapp.contoso.com" -PermissionsToSecrets Get