尝试执行Start-AzureService时,我一直遇到上述错误。
执行Get-AzureAccount时提示的以下信息:
Id Type Subscriptions Tenants
-- ---- ------------- -------
Me@outlook.com User 12345678-1234-5678-9012-345678901235 {12345678-1234-5678-9012-345678901235}
执行Get-AzureSubscription时提示以下信息:
SubscriptionId : 12345678-1234-5678-9012-345678901235
SubscriptionName : My Production (Pay-As-You-Go)
Environment : MyCloud
DefaultAccount : Me@outlook.com
IsDefault : True
IsCurrent : True
TenantId : 12345678-1234-5678-9012-345678901235
CurrentStorageAccountName :
Select-AzureSubscription : Parameter set cannot be resolved using the specified named parameters.
当我尝试按照建议的命令时,会提示:
Select-AzureSubscription -Default "My Production (Pay-As-You-Go)"
答案 0 :(得分:13)
使用此选项来选择您的默认订阅:
Select-AzureSubscription -Default -SubscriptionName "My Production (Pay-As-You-Go)"
您也可以选择使用-SubscriptionId
(和GUID)而不是名称。
有关Select-AzureSubscription
命令行开关的更多信息;输入Get-Help Select-AzureSubscription
。
如果这不起作用,请先尝试先运行,然后再选择订阅:
Add-AzureAccount
如果您仍然遇到问题,请进行更新:
如果您使用AzureRM /旧cmdlet(或只是AzureRM)并且仍然面临问题,我强烈建议您检查是否有多个版本的AzureRM.Profile模块。当我在Program Files下安装了一个版本而在我的用户配置文件(或PSModulePath中的其他地方)下安装了一个版本时,我已经多次遇到过这种情况。
列出安装的模块/版本:
Get-Module AzureRm.Profile -ListAvailable
如果您有多个实例和版本,则可能会对某些cmdlet造成一些问题。
答案 1 :(得分:7)
当我尝试${sql.args.3.value:toString():equals('t'):ifElse("TRUE","FALSE")}
时,它给了我错误"订阅不存在"当我传递100%正确的订阅名称或订阅ID时,我在Azure门户网站和powershell上找到:
Select-AzureSubscription
添加Azure帐户为我解决了这个问题:
$account = Login-AzureRmAccount
$account.Context.Subscription.SubscriptionId
$account.Context.Subscription.SubscriptionName