2

PowerShell を使用して Azure 仮想マシンを自動化し、スケジュールに従って 1 台のマシンを開始および停止しています。以前にこれを行ったことがありますが、余分な手順があるこのコード スニペットに出くわしました。重要なものを見逃していないことを確認したいと思います。

# 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 のチェックは何をしますか? たとえば、更新プログラムのインストール中に VM がシャットダウンするのを防ぐことはできますか? いいえ、これは他のコマンドにとってより重要なチェックだと思います。でも今知りたい。

いろいろ調べてみたところ、関連のないいくつかのコード サンプルで使用されていることがわかりましたが、説明を見つけることができませんでした。

4

1 に答える 1