使用 Azure Powershell 关闭在没有云服务名称的情况下创建的 VM
Using Azure Powershell to shutdown VM created with no Cloud Service Name
这不是 this question 的副本,因为在 MS 进行了破坏向后兼容性的更改后,该解决方案不再有效。
我需要以编程方式(通过 Azure Powershell)start/stop 以编程方式(通过 Azure Powershell)创建的 VM。文档说我需要提供 "service name",但我找不到任何关于如何从 VM 获取它的参考:
Stop-AzureVM -ServiceName $hostname -Name $hostname
Start-AzureVM -ServiceName $hostname -Name $hostname
文档还建议使用 Get-AzureService
并且(我认为)允许我提供配置文件而不是服务。然而,使用Select-AzureRmProfile
我只能得到一个Microsoft.Azure.Commands.Profile.Models.PSAzureProfile
,但是Get-AzureService
需要一个Microsoft.Azure.Commands.Profile.Models.PSAzureSMProfile
。我卡住了。
帮忙?
如果您知道名称而不是服务名称,您可以...
Get-AzureVM | Where {$_.Name -eq "VMNAME"} | Stop-AzureVM
但这完全取决于您是否有 VM 的名称而不是服务名称,您的问题没有说明,所以我假设您有! :D
但是,如果这不起作用,请评论您对 VM 的详细信息,我会看看我能做些什么。
Azure 中有两个控制平面:Azure 服务管理 (ASM) 和 Azure 资源管理器 (ARM)。使用 ASM 创建的所有 VM 都具有云服务名称和 VM 名称。我怀疑您创建了一个 ARM VM,其中资源组名称代替了云服务名称。 ARM PowerShell cmdlet 的名称中都有 AzureRm 而不是 Azure。
在 ARM 中,您使用以下内容:
启动-AzureRmVM -Name $vmName -ResourceGroupName $resourceGroupName
Stop-AzureRmVM -Name $vmName -ResourceGroupName $resourceGroupName
这不是 this question 的副本,因为在 MS 进行了破坏向后兼容性的更改后,该解决方案不再有效。
我需要以编程方式(通过 Azure Powershell)start/stop 以编程方式(通过 Azure Powershell)创建的 VM。文档说我需要提供 "service name",但我找不到任何关于如何从 VM 获取它的参考:
Stop-AzureVM -ServiceName $hostname -Name $hostname
Start-AzureVM -ServiceName $hostname -Name $hostname
文档还建议使用 Get-AzureService
并且(我认为)允许我提供配置文件而不是服务。然而,使用Select-AzureRmProfile
我只能得到一个Microsoft.Azure.Commands.Profile.Models.PSAzureProfile
,但是Get-AzureService
需要一个Microsoft.Azure.Commands.Profile.Models.PSAzureSMProfile
。我卡住了。
帮忙?
如果您知道名称而不是服务名称,您可以...
Get-AzureVM | Where {$_.Name -eq "VMNAME"} | Stop-AzureVM
但这完全取决于您是否有 VM 的名称而不是服务名称,您的问题没有说明,所以我假设您有! :D
但是,如果这不起作用,请评论您对 VM 的详细信息,我会看看我能做些什么。
Azure 中有两个控制平面:Azure 服务管理 (ASM) 和 Azure 资源管理器 (ARM)。使用 ASM 创建的所有 VM 都具有云服务名称和 VM 名称。我怀疑您创建了一个 ARM VM,其中资源组名称代替了云服务名称。 ARM PowerShell cmdlet 的名称中都有 AzureRm 而不是 Azure。
在 ARM 中,您使用以下内容:
启动-AzureRmVM -Name $vmName -ResourceGroupName $resourceGroupName
Stop-AzureRmVM -Name $vmName -ResourceGroupName $resourceGroupName