我使用应用程序帐户登录(服务原则)然后运行Get-AzureStorageKey -StorageAccountName myclassicStorageAccount 并得到:这个错误: Get-AzureStorageKey:未指定默认订阅。使用Select-AzureSubscription -Default设置默认订阅。 但是当我运行Select-AzureSubscription -Default时,它告诉我这个sub不存在,即使这个帐户是该角色的所有者角色但是。
请帮忙。 感谢。
答案 0 :(得分:1)
实际上,如果您使用服务主体登录帐户,则无法使用经典的Power Shell cmdlet。
您可以使用Azure Rest API获取存储帐户访问密钥,您可以查看此answer。您可以使用以下电源shell。
Invoke-AzureRmResourceAction -ResourceId "/subscriptions/*******/resourceGroups/stlvm/providers/Microsoft.ClassicStorage/storageAccounts/stlsac" -Action "listKeys" -ApiVersion "2016-11-01" -Force
您可以在Azure门户上获取资源ID。
我在实验室测试,它对我有用。
更新
您可以使用Get-AzureRmResource
获取经典存储帐户资源组。
##`stlsac` is my classic storage account name, replace it
$storage = Get-AzureRmResource | Where {$_.ResourceType -eq "Microsoft.ClassicStorage/storageAccounts" -and $_.ResourceName -eq "stlsac"}
Invoke-AzureRmResourceAction -ResourceName stlsac -ResourceType Microsoft.ClassicStorage/storageAccounts -ResourceGroupName $storage.ResourceGroupName -Action "listKeys" -ApiVersion "2016-11-01" -Force