WIN1@Codename

Codename

スポンサーサイト

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

Hyper-V をプログラムでどうにかしてみる その7 (仮想マシンの作成)

本来であれば、このシリーズ、仮想マシンの作成を一番初めに掲載すべきでしたが、いろいろありましてようやく今ごろになって掲載できるようになりました。

Hyper-Vマネージャーで新規で仮想マシンを作成する場合はウィザードに従って簡単に仮想マシンを作成できますが、これをプログラムで実現するとなるといくつかのステップを踏んでようやく完了となります。

今回はまずは骨組みとなる仮想マシンを最初に作成するところからはじめます。

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()

Dim objVirtualSystemGlobalsettingData As New ManagementClass(objManagementScope, New ManagementPath("Msvm_VirtualSystemGlobalsettingData"), Nothing)
Dim objVirtualSystemGlobalsettingDataInstance As ManagementObject = objVirtualSystemGlobalsettingData.CreateInstance
        objVirtualSystemGlobalsettingDataInstance("ElementName") = "TetVM"
        objVirtualSystemGlobalsettingDataInstance("ExternalDataRoot") = "C:\Hyper-V\TestVM"
Dim strSystemsettingData As String = objVirtualSystemGlobalsettingDataInstance.GetText(TextFormat.CimDtd20)

For Each objVirtualSystemManagementService As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_VirtualSystemManagementService")).Get
Dim objParams As ManagementBaseObject = objVirtualSystemManagementService.GetMethodParameters("DefineVirtualSystem")
objParams("ResourcesettingData") = Nothing
objParams("Sourcesetting") = Nothing
objParams("SystemsettingData") = strSystemsettingData
Dim objManagementBaseObject As ManagementBaseObject = objVirtualSystemManagementService.InvokeMethod("DefineVirtualSystem", objParams, Nothing)
Console.WriteLine("DefineVM=" & objManagementBaseObject("ReturnValue"))
Next

ここでは「TestVM」という名前の仮想マシンを「C:\Hyper-V\TestVM」フォルダに作成しています。

最後の部分で objManagementBaseObject("ReturnValue")) この戻り値が「0」となれば作成成功です。

次回は作成した仮想マシンにメモリの設定を行います。

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

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