Get-AzResourceGroup: this.Client.SubscriptionId не может иметь значение null

Возникла небольшая проблема с 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 

Затем я получаю ошибку, указанную выше.

у вас наверное нет прав ни на какую подписку?

4c74356b41 05.04.2019 17:46

Спасибо за ответ, но я действительно могу видеть свои подписки после аутентификации с помощью $subs = Get-AzureSubscription.

Bigtoe 05.04.2019 18:13

у вас остались остатки модуля azurerm? Я предлагаю вам удалить их. что, если вы пропустите выбор этой конкретной подписки и просто сделаете get-azresourcegroup?

4c74356b41 05.04.2019 18:14

Я уже запускал Uninstall-AzureRm, потому что он предупреждал о конфликтах. Я тоже перезагрузился на всякий случай. Если я закомментирую Connect-AzAccount, я все равно получу ту же ошибку. Я также очистил профиль Azure и повторил попытку с нуля.

Bigtoe 05.04.2019 18:23
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
4
4 216
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я обнаружил проблему: у созданного мной субъекта службы не было достаточного доступа к подписке, как было предложено @ 4c74356b41, в итоге я дал ему роль участника, и это решило проблему.

Привет @PatrickLu-MSFT, ты не можешь пометить свой ответ как ответ на вопрос, это должен сделать кто-то другой. С уважением.

Bigtoe 08.04.2019 11:59

Другие вопросы по теме