2016-03-15 60 views
1

这创造了关闭VM不是this question重复,因为该解决方案不再有效MS做出了改变打破向后兼容性之后。使用Azure的PowerShell来,没有云服务名称

我的需求是以编程方式(通过Azure Powershell)启动/停止以编程方式创建的VM(通过Azure Powershell)。该文件说,我需要提供“服务名称”,但我无法找到我怎么能获得从一个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。我被卡住了。

帮助?

回答

2

有天青两个控制平面:Azure的服务管理(ASM)和Azure的资源管理器(ARM)。所有使用ASM创建的虚拟机都具有云服务名称和虚拟机名称。我怀疑您创建了一个资源组名称代替云服务名称的ARM VM。 ARM PowerShell cmdlet的名称中都包含AzureRm,而不是Azure。

在ARM使用下列内容:

启动AzureRmVM -Name $ VMNAME -ResourceGroupName $ resourceGroupName

停止-AzureRmVM -Name $ VMNAME -ResourceGroupName $ resourceGroupName

1

如果你知道这个名字,而不是你可以做的服务名称...

Get-AzureVM | Where {$_.Name -eq "VMNAME"} | Stop-AzureVM 

但是,这完全依赖于你是否有名称,而不是虚拟的服务名称,您的问题不否则状态,所以即时假设你在这里做! :d

但是如果不能解决问题,请与哪些细节您在VM和虐待看看我能做些什么评论。