WIN1@Codename

Codename

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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

今回は仮想マシン(ゲストOS)の状態一覧を取得してみます。

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = ""
objConnectionOptions.Password = ""
Dim objManagementScope As New ManagementScope("\\\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    Dim intState As Integer = objManagementObject("EnabledState")
    Dim strState As String = ""
    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
Console.WriteLine(objManagementObject("ElementName") & ":" & strState)


コメント

コメントの投稿


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

トラックバック

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

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。