トップ 差分 一覧 ソース 検索 ヘルプ 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 -- 初版

技術的雑談へ戻る

 突っ込み

name   comment  
URL (入力するとす ぱ むとみなします!)


技術的雑談へ戻る

TrackBack

TrackBack URL for this entry:
http://www.himajin2001.com/fswiki/tb.cgi/%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC%2DWindows%BE%E5%A4%CEVMWareServer2%2E0%C6%E2%A4%CEVM%A4%F2%A5%B3%A5%DE%A5%F3%A5%C9%A5%E9%A5%A4%A5%F3%A4%C7%C1%E0%BA%EE%A4%B9%A4%EB

技術的雑談へ戻る

最終更新日時:最終更新時間:2009年04月15日 16時02分10秒
トップページに戻る