WIN1@Codename

Codename

Hyper-V をプログラムでどうにかしてみる VBScript その8 (仮想マシン一覧の取得)

Hyper-Vマネージャーに登録されている仮想マシンのリスト一覧を取得してみます。
Option Explicit 

Dim strServerName, objWMIService, objManagementService
strServerName = "." 
Set objWMIService = GetObject("winmgmts:\\" & strServerName & "\root\virtualization")
Set objManagementService = objWMIService.ExecQuery("SELECT * FROM Msvm_VirtualSystemManagementService").ItemIndex(0)

Call GetVMList()
 
Function GetVMList()
    Dim objComputerSystems, objComputerSystem, strList
    Set objComputerSystems = objWMIService.ExecQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
    Dim intState, strState 
    For Each objComputerSystem In objComputerSystems       
        intState = objComputerSystem.EnabledState       
        Select Case intState
            Case 0
                strState = "Unknown"
            Case 2
                strState = "Enabled(実行中)"
            Case 3
                strState = "Disabled(オフ)"
            Case 32768
                strState = "Paused(一時停止)"
            Case 32769
                strState = "Suspended(保存完了)"
            Case 32770
                strState = "Starting(復元中)"
            Case 32771
                strState = "Snapshotting"
            Case 32772
                strState = "Migrating"
            Case 32773
                strState = "Saving"
            Case 32774
                strState = "Stopping"
            Case 32775
                strState = "Deleted"
            Case 32776
                strState = "Pausing"
            Case Else
                strState = "不明なステータス " & intState
        End Select
        strList = strList & vbCrLf & objComputerSystem.ElementName & " "  & strState
    Next   
    Wscript.Echo strList
End Function

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://codename2010.blog11.fc2.com/tb.php/164-d7a2e9ca
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad