トップ 一覧 検索 ヘルプ RSS ログイン

技術的雑談-Windows上のVMWareServer2.0内のVMをコマンドラインで操作するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!技術的雑談-Windows上のVMWareServer2.0内のVMをコマンドラインで操作する

!!環境
*ホストOS : WindowsXP sp3
*VMWare Server : 2.0.8

!!目的
*VMWare ServerのVMをコマンドラインから一発起動する。

!!手順

!vmrun.exe
VMWare Server 2.0から、従来の.exe形式のコントロールセンターではなくWeb経由のWebアプリケーションでVMの操作を行うようになった。

これはこれで賛否両論あるところだが、まあ、そういうものだから仕方がない。

Linux版のVMWare Server 2.0ではコマンドラインからVMを操作するvmware-vim-cmdとかvmware-vimshなどというコマンドがあるが、Windows版では同名のコマンドは無いようだ。

が、VMWare Serverのインストールディレクトリ(デフォルトだと「C:\Program Files\VMware\VMware Server」)に'''vmrun.exe'''というコマンドがあり、これがvmware-vim-cmdの代わりになっているらしい。

!基本的な使い方
DOS窓もしくはバッチから操作する。

C:\Program Files\VMware\VMware ServerにPathを通すかCDして、引数にパラメータを設定する。

以下はDOS窓から実行したときの使い方。

!現在動いているVMの一覧を表示する

'''list'''サブコマンドを使用する。

 vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% list

ここで、********はVMWareのWeb GUIにログインするときのユーザ名(=ホストOSのログインアカウントからドメイン名を除いたもの)、%%%%%%%%はそのパスワードだ。

上記の「https://〜/sdk」はお約束。
「-T」オプションの意味は、
,オプションの文字列,対象VMWareバージョン
,ws,VMWare Workstation
,server,VMWare Server 2.x
,server1,VMWare Server 1.x
の事らしい。

また、他のコマンドでも共通だが、-hの後にはVMWare Serverが動いているホストOSのアドレスをセットする。

検証してみたが、'''「VMware Server Web Access」サービスが止まっている時もvmrun.exeが使用可能だ。'''
これはうれしい!!
内蔵のTomcatが動いていなくてもVMの操作が可能ということだ。

ちなみに、コマンドが成功すると以下のように現在稼働中のVMの一覧が表示される。

 Total running VMs: 2
 [standard] CentOS 5.2/CentOS 5.2.vmx
 [standard] CentOS 5.3/CentOS 5.3.vmx

上記は2つのVMが動いていることを表す。

バッチにする場合はバッチの最後に「pause」を書いておかないと表示結果が一瞬で消えてしまって悲しい。

!登録されているVMを一覧する

'''listRegisteredVM'''サブコマンドを使う。

実行すると以下のように登録されているVMが一覧される。

 Total registered VMs: 4
 [standard] Windows Server 2003 R2/Windows Server 2003 R2.vmx
 [standard] CentOS 5.2/CentOS 5.2.vmx
 [standard] CentOS 5.3/CentOS 5.3.vmx
 [standard] Solaris10/Solaris10.vmx

!VMを起動する(VMの電源をONする)

'''start'''サブコマンドを使う。

startサブコマンドの後に起動したいVMの名前を指定するが、上記のlistやlistRegisteredVMの表示結果の「[standard]」も含めて指定してやる必要があるらしい。

([standard]というのはGUIで言うところのストレージ、実Pathで言うと「C:\Virtual Machines」以下の事らしい。)

以下のようにコマンドを実行する。

 vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% start "[standard] CentOS 5.2/CentOS 5.2.vmx"

VM名に半角スペースが入る場合は""でくくってあげること。

!VMを停止する(VMの電源を切る)

同様に'''stop'''サブコマンドを使用する。

ただし、注意しなくてはいけないのは、このコマンドは「VMの電源を切る」コマンドであって、「Guest OSをShutdownするコマンドではない」ということだ。
普通のPCだったらいきなり電源をプッチンするのと同じなので、普通の場合はGuest OS内からshutdown -h nowとか、スタートメニューから終了オプションを選択してやること。

 vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% stop "[standard] CentOS 5.2/CentOS 5.2.vmx"

!!履歴
2009/04/15 -- 初版

[[技術的雑談]]へ戻る

!!突っ込み
{{comment}}

[[技術的雑談]]へ戻る

{{trackback}}

[[技術的雑談]]へ戻る