3

仮想マシンを作成しました。現在、Powershell を使用して起動しようとしています。その方法の詳細については、インターネット全体を検索しました。これは私が見つけた唯一のコードです...

#----------------------
$vBox = New-Object -ComObject VirtualBox.VirtualBox
$vBox | Get-Member *

$vBox.Machines

$vBox.CreateMachine()
#----------------------

(出典: http://www.ravichaganti.com/blog/?p=1275 )

実際、virtualbox.org の com オブジェクトに関するドキュメントは見つかりません。私はpowershellに非常に精通しており、comオブジェクトを探索するのに時間を費やしました...

$vBox | gm

考えられるすべてのことを試しましたが、エラーしか表示されませんでした。私の質問は、Powershell を使用して VM を起動する方法です。

ありがとう

4

2 に答える 2

9

COM オブジェクトを使用するのではなく、VBoxManageコマンド ライン インターフェイスを使用しないのはなぜですか?

あなたの質問に関連するコマンドは次のとおりです。

VBoxManage createvm     --name <name>
                        [--ostype <ostype>]
                        [--register]
                        [--basefolder <path> | --settingsfile <path>]
                        [--uuid <uuid>]

VBoxManage startvm      <uuid>|<name>
                        [--type gui|sdl|vrdp|headless]

VBoxManage 実行可能ファイルは、インストール ディレクトリにあり、デフォルトでは C:\Program Files\Oralce\VirtualBox (少なくともバージョン 3.2.8 以降) です。

COM API を使用すると、VirtualBox.OpenSessionメソッドを使用する必要があるように見えますが、PowerShell で ISession 変数をメソッド シグネチャと一致させてメソッドを呼び出すように強制することはできないようです。たぶん、巧妙な反省か何かによって、それが機能するようになるかもしれません。

于 2010-10-07T15:07:44.550 に答える
3

次のリンクには、PowerShell での VirtualBox の使用に関する記事が含まれており、優れた PowerShell コマンドレットを含む便利なモジュールが含まれています。

コマンドラインを使用できますが、コマンドは長く、インタラクティブではなく、結果を簡単に解析できません (マシンのリストなど)。これは PowerShell でのみ機能します。

リンク内のモジュールにはラッパー オブジェクトが含まれているため、COM オブジェクトなどの破棄について心配する必要はありません。

リンクは次のとおりです。 http://jdhitsolutions.com/blog/scripting/1502/managing-virtualbox-with-powershell/

于 2011-12-20T01:05:30.850 に答える