WIN1@Codename

Codename

Hyper-V をプログラムでどうにかしてみる その4 (スナップショットの作成)

今回はスナップショットを作成します。

 

Imports System.Management

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

For Each objVirtualSystemManagementService As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_VirtualSystemManagementService")).Get
    For Each objComputerSystem As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE ElementName = '" & strVMName & "'")).Get
        Dim objParams As ManagementBaseObject = objVirtualSystemManagementService.GetMethodParameters("CreateVirtualSystemSnapshot")
        objParams("SourceSystem") = objComputerSystem.Path.Path
        Dim objManagementBaseObject As ManagementBaseObject = objVirtualSystemManagementService.InvokeMethod("CreateVirtualSystemSnapshot", objParams, Nothing)
        Console.WriteLine(objManagementBaseObject("ReturnValue"))
    Next
Next


ネットでスナップショットの作成のサンプルを探してみるとなかなか面倒な書き方をしているようですが、上のように結構シンプルにまとめることができました。


コメント

コメントの投稿


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

トラックバック

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

FC2Ad