2008/8/9 土曜日

スクリプトでHyper-V上の仮想OSのプロパティを取得@VBS

Filed under: Windows Server 2008, スクリプト — pnpk @ 17:58:05

001.png
ネット上で参考になるHyper-Vのスクリプトを見て、以前Virtual Server上で実行していたVBScriptを多少書き換えればHyper-Vでも稼働させる事が出来そうだなと思ってHyper-Vのインストールされた環境で動作するVBScriptを作ってみました。

とりあえず全ての仮想インスタンスのステータスを表示します。

“Msvm_ComputerSystem”をそのまま利用すると物理OSのステータスも拾ってしまうので

Where Description = 'Microsoft Virtual Machine'

というところで物理OSをリストから除外しています。

とりあえず一通りのプロパティの取得はWMIから出来ますので、Virtual Serverと同じ様に自動起動や自動バックアップがVBScりptで作れそうです。

Option Explicit

Dim objWMI
Dim VM
Dim VMList

Set objWMI = GetObject("winmgmts:\\.\root\virtualization")
'日本語環境ではホストマシンのDescriptionが'Microsoft ホスト コンピュータ システム'となるのでそれをクエリで除外
Set VMList = objWMI.ExecQuery _
("SELECT * FROM Msvm_ComputerSystem Where Description = 'Microsoft Virtual Machine'")

'マシン名と詳細の表示
For Each VM In VMList
Wscript.Stdout.WriteLine "ElementName " & VM.ElementName
Wscript.Stdout.WriteLine "Name " & VM.Name
Wscript.Stdout.WriteLine "EnabledState " & SHOW_EnabledState(VM.EnabledState)
Wscript.Stdout.WriteLine "Description " & VM.Description
Wscript.Stdout.WriteLine "InstallDate " & VM.InstallDate
Wscript.Stdout.WriteLine "TimeOfLastConfigurationChange " & VM.TimeOfLastConfigurationChange
Wscript.Stdout.WriteLine "TimeOfLastStateChange " & VM.TimeOfLastStateChange
Wscript.Stdout.WriteBlankLines 1
Next

'EnabledStateのintを文字に変換
Function SHOW_EnabledState(int)
Select Case int
Case 0
SHOW_EnabledState = "Unknown"
Case 2
SHOW_EnabledState = "Enabled(実行中)"
Case 3
SHOW_EnabledState = "Disabled"
Case 32768
SHOW_EnabledState = "Paused(一時停止)"
Case 32769
SHOW_EnabledState = "Suspended(保存完了)"
Case 32770
SHOW_EnabledState = "Starting(復元中)"
Case 32771
SHOW_EnabledState = "Snapshotting"
Case 32772
SHOW_EnabledState = "Migrating"
Case 32773
SHOW_EnabledState = "Saving"
Case 32774
SHOW_EnabledState = "Stopping"
Case 32775
SHOW_EnabledState = "Deleted"
Case 32776
SHOW_EnabledState = "Pausing"
Case Else
SHOW_EnabledState = "不明なステータス " & int
End Select
End Function

参考URL

Msvm_ComputerSystem Class
Hyper-V シャットダウンスクリプト

Popularity: 3%

コメント (0) »

この記事にはまだコメントがついていません。

コメント RSS トラックバック URI

コメントをどうぞ

HTML convert time: 0.502 sec. Powered by WordPress ME