我正在使用 powershell 自动化 Azure 虚拟机,只是按计划启动和停止一台机器。我以前做过,但是我遇到了这个代码片段,它有一个额外的步骤,我想确保我没有遗漏一些重要的东西:
# Shutdown VM(s)
$vmList = ('VM1', 'VM2', 'VM3')
$svcName = 'servicename'
For ( $vmCount = 0; $vmCount -lt $vmList.Count; $vmCount++) {
$vm = Get-AzureVM `
-ServiceName $svcName `
-Name $vmList[$vmCount]
if ( $vm.InstanceStatus -eq 'ReadyRole' ) {
Stop-AzureVM `
-ServiceName $vm.ServiceName `
-Name $vm.Name `
-Force
}
}
所以我会直接调用 Stop-AzureVM... InstanceStatus 检查是做什么的?比如说,如果虚拟机正在安装更新,它会阻止它关闭吗?我在想不,这是一个对其他命令更重要的检查。但现在我想知道。
我尝试四处搜索,发现它在几个不相关的代码示例中使用,但我一直找不到解释。