Azure 云 Shell - 无法识别术语 'Stop-AzureVM'

Azure Cloud Shell - The term 'Stop-AzureVM' is not recognized

我正在尝试使用 Azure Cloud Shell(基于浏览器)来管理经典 VM。当我 运行 这个命令时:

Stop-AzureVM -ResourceGroupName <resourceGroup> -Name <vmName>

我收到这个错误:

Stop-AzureVM : The term 'Stop-AzureVM' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of 
the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Stop-AzureVM -ResourceGroupName <resourceGroup>-Name <vmName>
+ ~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (Stop-AzureVM:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

我是不是做错了什么,或者这在 Cloud Shell 中不受支持?

默认使用 AzureRM 模块。对于 Azure Cloudshell 上的 PowerShell,您需要安装经典的 ASM 模块。只是简单地 运行

Install-Module Azure

尝试使用Get-Module -Name Azure*查看是否安装了ASM模块

现在您可以使用 Azure 经典资源了。

如果你在ASM模型中有多个订阅,你需要先设置订阅,使用

Select-AzureSubscription -Default -SubscriptionName "your_subscription_name"

but that gives me Unable to load DLL 'IEFRAME.dll'

Azure Cloud shell 支持使用其他帐户登录。

Cloud Shell also securely authenticates automatically for instant access to your resources through the Azure CLI 2.0 or Azure PowerShell cmdlets.

作为解决方法,也许您可​​以使用云 shell bash 停止该 VM(经典)。

Azure CLI 1.0 支持 ASM 和 ARM,只需将模式更改为 ASM,您就可以使用云 shell 来管理您的经典 VM,如下所示:

azure config mode asm
azure vm list
azure vm --help  //get more information about CLI 1.0

希望这对您有所帮助。