Azure powershell选择AzureSubscription-错误:订阅名称不存在

Azure powershell选择AzureSubscription-错误:订阅名称不存在,powershell,azure,subscription,Powershell,Azure,Subscription,我刚刚安装了最新的powershell 1.1,并根据此博客条目向我正在运行的现有Linux虚拟机添加反向DNS 我可以登录并运行Get-AzureRmSubscription以查看我的订阅: SubscriptionName : Visual Studio Premium with MSDN SubscriptionId : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX TenantId : XXXXXXXX-XXXX-XXXX-XXXX-XXX

我刚刚安装了最新的powershell 1.1,并根据此博客条目向我正在运行的现有Linux虚拟机添加反向DNS

我可以登录并运行Get-AzureRmSubscription以查看我的订阅:

SubscriptionName : Visual Studio Premium with MSDN
SubscriptionId   : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
TenantId         : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

SubscriptionName : Visual Studio Enterprise with MSDN
SubscriptionId   : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
TenantId         : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
如果尝试运行Set-AzureService命令,则会显示一条错误消息,告诉我需要设置默认订阅

我试过了

Select-AzureSubscription -Default 'Visual Studio Enterprise with MSDN'

Select-AzureSubscription -Default "Visual Studio Enterprise with MSDN"

Select-AzureSubscription -Default 'Visual Studio Premium with MSDN'

Select-AzureSubscription -Default "Visual Studio Premium with MSDN"
我甚至尝试过只运行selectazuresubscription,然后在出现提示时输入订阅名称,没有引号、单引号和双引号,但都无法实现

我不断收到一个错误消息,说订阅名称“Visual Studio Enterprise with MSDN”不存在

我还尝试使用selectazuresubscription-SubscriptionID来完成这项工作,并列出了订阅ID,结果类似


我做错了什么?

您遇到的问题是“默认”参数被折旧了

如果你跑

Select-AzureSubscription -SubscriptionName "Visual Studio Premium with MSDN" `
                         -Default "Visual Studio Premium with MSDN"
你得到-

警告:当前参数和默认参数已被弃用。选择AzureSubscription将始终更新默认订阅

如果你只是跑

 Select-AzureSubscription -SubscriptionName "Visual Studio Premium with MSDN"  

你应该得到你想要的结果

如果您使用的是资源管理器,正确的cmdlet是:

Get-AzureRmSubscription –SubscriptionName "<name>" | Select-AzureRmSubscription
连接AzurerAccount,然后正常登录Azure 运行命令cmdlet Get-AzureRmSubscription–SubscriptionName |选择AzureRmSubscription请参见@Bruno Faria的答案
谢谢,迈克尔。不幸的是,我仍然收到与此相同的错误消息。在我的案例中,似乎也需要添加AzureAccount。但是,您正确地认为-Default不推荐使用,我还必须使用-SubscriptionName标志。如果您有关于运行Set-AzureService/Get-AzureService的任何提示,将不胜感激。为了检查我的虚拟机的设置,我尝试运行Get-AzureService myvmname,其中虚拟机位于myvmname.cloudapp.net,但主机服务不存在谢谢,Bruno。在运行Add-AzureAccount后,我成功地运行了Select-AzureSubscription命令,没有出现错误。此外,如果您有任何关于运行Set-AzureService/Get-AzureService的提示,请参阅。为了检查我的虚拟机的设置,我尝试运行Get-AzureService myvmname,其中虚拟机位于myvmname.cloudapp.net,但Get-hosted服务不存在。关于ARM和ASM存在混淆。ARM是azure中管理资源的一种新方法,只能使用新门户或通过PowerShell azureRM cmdlet创建和可视化。get-azureservice等cmdlet特定于ASM模型。如果您获得的服务不存在,可能是因为您使用ARM部署了VM,而ARM不使用云服务来为VM提供服务,因此,get-azureservice没有任何用处。请尝试获取命令-Module AzureRM.Resources | Get Help | Format Table Name,SynopsisI在一年前的2015年1月创建了虚拟机,因此猜测ARM。根据命令,我运行Get-AzureRmResource并看到如下内容:Name:vmname ResourceId:/subscriptions/XXXXXXXX-XXXX-XXXX-XXXXXXXX/resourceGroups/vmname/providers/Microsoft.ClassicComputer/virtualMachines/vmname ResourceName:vmname ResourceType:Microsoft.ClassicComputer/virtualMachines ResourceGroupName:vmname位置:westusSubscriptionId:XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXX-XXXXXXXXXXXX在文章中看到关于在公共IP地址资源上设置反向DNS属性的内容-了解要使用的命令吗?请忽略最后的注释-看起来我的VM与我的Visual Studio Premium帐户相关联,但我已将默认订阅设置为Visual Studio Enterprise。切换默认订阅后,Get/Set AzureService命令工作正常。这也意味着我在使用ASM。谢谢谢谢你,德米特里-一开始它不起作用,但在做了AddAzureaCount之后它就起作用了ok@Dmitry,是的,对我来说,在添加AzureAccount之后,它也起了作用。
Add-AzureAccount