VMの自動起動スクリプト

更新日 2015-05-04 (月) 16:56:44

PowershellとバッチファイルでVMをまとめて起動させたり、shutdownさせたりできる

VMware vSphere PowerCLI

VM用のコマンドレットを利用するためにVMware vSphere PowerCLIを以下からDLして、Windows Serverにインストール

バッチからPowershellのスクリプトを呼び出す。
スクリプトでPowerCLIをスナップインし、 仮想PFに接続し、VMの起動・Shutdownを行う。

VM起動

start.bat(起動バッチ)

@echo off

set ScriptPath="C:\Usr\VMware\Powershtest\Start.ps1"

REM 【ポリシー設定】(Powershaellでスクリプトを動くようにする)
@powershell.exe Set-ExecutionPolicy -executionpolicy Unrestricted

REM PowerShellExec
powershell.exe -command "& '%ScriptPath%'"

Start.ps1

# スナップインの追加
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue

# 仮想PFと接続
Connect-VIServer -Server "192.168.10.76" -User "root" -Password "*****"

# VMを起動
Start-VM -VM "HA-Cent6"
# 20秒時間待ち
"20秒時間待ち・・・・(1)"
Start-Sleep -s "20"
Start-VM -VM "Vine6"
"20秒時間待ち・・・・(2)"
Start-Sleep -s "20"
Start-VM -VM "Vine6_SvMotion"

# 仮想PFの切断 (-Confirm:$false は確認メニューを表示しない)
Disconnect-VIServer -Server "192.168.10.76" -Confirm:$false

VMのshutdown

sd.bat(Shutdown バッチ)

@echo off

set ScriptPath="C:\Usr\VMware\Powershtest\sd.ps1"

REM 【ポリシー設定】
@powershell.exe Set-ExecutionPolicy -executionpolicy Unrestricted

REM PowerShellExec
powershell.exe -command "& '%ScriptPath%'"

sd.sp1

# スナップインの追加
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue

Connect-VIServer -Server "192.168.10.76" -User "root" -Password "*****"
"10秒時間待ち・・・・"
Start-Sleep -s "10"
# VMをシャットダウン( Stop-VMだと電源OFF)
Shutdown-VMGuest -VM "HA-Cent6" -Confirm:$false
Shutdown-VMGuest -VM "Vine6" -Confirm:$false
Shutdown-VMGuest -VM "Vine6_SvMotion" -Confirm:$false

Disconnect-VIServer -Server "192.168.10.76" -Confirm:$false
  • Confirm:$false は確認画面を表示しない設定

color(red){注)Stop-VMレットはshutdownではなくPowerOFF};

実行

それぞれのバッチファイルのショートカットを作成し、管理者権限で実行

管理者権限の設定はショートカットのプロパティ→ショートカットプロパティ→詳細設定
管理者として実行

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-05-04 (月) 16:56:44 (1267d)