我在Windows Server(x64)"上创建了一个" Visual Studio Enterprise 2017(最新版本)。虚拟机。我想通过Powershell启动和停止这台机器。
#Login
Add-AzureAccount
#Enterprize subscription. Id can be found by seraching for subsription in the portal
Select-AzureSubscription -SubscriptionId xxxxxx-xxxe-xxxx5-8xxxx-e2xxxxxxxx1c
#Should list VMs but returns nothing
Get-AzureVM
#Asks for ServiceName that I cannot find
Start-AzureVM -Name NigelsPcWUS
如何找到与我的VM对应的ServiceName?或者有更好的方法吗?
答案 0 :(得分:2)
我的猜测是您使用Azure资源管理(ARM)模型创建虚拟机。上面的PowerShell脚本使用较旧的Azure服务管理(ASM)模型。
上述脚本需要进行一些修改才能使用ARM模型:
#Login using the ARM model
Login-AzureRmAccount
#Select your subscription if you got multiple
Select-AzureRmSubscription -SubscriptionId xxxxxx-xxxe-xxxx5-8xxxx-e2xxxxxxxx1c
#Get a list of exisiting VMs
Get-AzureRmVM
#Start a vm named 'linux' inside resource group 'lab-rg'
Start-AzureRmVM -Name linux -ResourceGroupName lab-rg
如果您没有安装AzureRM PowerShell命令并且运行的是Windows 10,则可以通过运行
轻松安装它们。Install-Module AzureRM
答案 1 :(得分:1)
ServiceName
指定包含要关闭的虚拟机的Azure服务的名称。
如果您通过经典模型部署了VM,那么您将获得ServiceName
。
从描述中看起来,您已经通过ARM模型创建了VM。
我建议您使用Get-AzureRmVM
cmdlet列出VM。
要启动VM,请使用以下PowerShell cmdlet。
Start-AzureRmVM -ResourceGroupName "YourResourceGroupName" -Name "YourVirtualMachineName"
要停止VM,请使用以下PowerShell cmdlet。
Stop-AzureRmVM -ResourceGroupName "ResourceGroupName" -Name "VirtualMachineName"