ここでは、 Azure Cloud Shell の PowerShell で仮想マシン VM を一括再起動するツールを作成します。
ツール作成方法
Azure Cloud Shell の PowerShell で、下記の ps ファイルを作成します。リソース名と仮想マシン名に再起動対象とするものを指定します。
ps ファイルを実行すると、指定した仮想マシン VM を一括で再起動することができます。
・サンプルコード
$targetRg = "リソースグループ名" $targetVmArray = @('仮想マシン名1','仮想マシン名2','仮想マシン名3') #実行確認メッセージ表示 $title = "*** 実行確認 ***" $message = "仮想マシン VM 一括再起動を実行してよろしいですか?" $objYes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes","実行する" $objNo = New-Object System.Management.Automation.Host.ChoiceDescription "&No","実行しない" $objOptions = [System.Management.Automation.Host.ChoiceDescription[]]($objYes, $objNo) $resultVal = $host.ui.PromptForChoice($title, $message, $objOptions, 1) if ($resultVal -ne 0) { exit } #VM 一括再起動 foreach($targetVm in $targetVmArray){ $currentDate = get-date (get-date).AddHours(9) -UFormat "%Y-%m-%d %H:%M:%S" Write-Host $currentDate $targetVm "を再起動します。" Restart-AzVM -ResourceGroupName $targetRg -Name $targetVm Start-Sleep -s 1 } #再起動後の 仮想マシン VM の状態を確認 write-Host "" write-Host "再起動後の仮想マシン VM の状態" foreach($targetVm in $targetVmArray){ $vmState = Get-AzVM -ResourceGroupName $targetRg -Name $targetVm -Status | Select @{n="$targetVm Status"; e={$_.Statuses[1].Code}} $currentDate = get-date (get-date).AddHours(9) -UFormat "%Y-%m-%d %H:%M:%S" write-Host $currentDate $vmState }
また、下記の記事の方法で、Azure Cloud Shell で他の作業担当者( 他の Azure アカウント )と作成した ps ファイルを共有して利用することができます。
Azure Cloud Shell にて複数アカウントで使用できる共有フォルダ・ファイルを作成する方法
スポンサーリンク
0 件のコメント :
コメントを投稿