Azure和Powershell有点问题。我只是在检查资源组是否存在,并且不断出现此错误。此后的下一步是创建资源组(如果资源组不存在),但这也会引发相同的错误。希望有人可以提出一些解决方法或修正。
请注意,我有权访问订阅,可以看到它们并成功设置了默认订阅,如下面的脚本所示。
返回完整错误
'this.Client.SubscriptionId' cannot be null.
At **********************\envir\create-env.ps1:21 char:1
+ Get-AzResourceGroup -Name $resourceGroup -ErrorVariable $doesNotExist ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzResourceGroup], ValidationException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceGroupCmdlet
我刚刚安装了Az模块,下面是版本详细信息。
Version Name Repository
------- ---- ----------
1.6.0 Az PSGallery
我只是在运行一个非常简单的脚本(如下),我认为这可能与未设置默认订阅有关,但是设置没有任何区别。
$passwd = ConvertTo-SecureString $servicePrincipalKey -AsPlainText -Force
$pscredential = New-Object
System.Management.Automation.PSCredential($servicePrincipalUserName, $passwd)
Connect-AzAccount -ServicePrincipal -Credential $pscredential -TenantId $tenantId
Select-AzureSubscription -Default -SubscriptionName $subscriptioName
Get-AzResourceGroup -Name $resourceGroup -ErrorVariable $doesNotExist
然后我得到上面列出的错误。
答案 0 :(得分:1)
我发现了问题,我创建的服务主体没有足够的访问权限,如@ 4c74356b41所建议,我最终给了它一个贡献者的角色,并解决了问题。