windows  >  VMware Serverゲスト起動

VMware Serverゲスト起動

VMware Serverゲスト起動をコマンドラインで起動してみる

    ○コマンドライン
    ※コマンドの入っているPATHはもちろんインストール環境により変化します(下記例はWinXPの例)

    予めcmdを起動して作業ディレクトリを変更しておく(PATH通しても良いと思います)

    > cd "C:\Program Files\VMware\VMware Server\"
    
  1. 起動中のゲスト一覧表示
    > vmrun.exe -T server -h https://localhost:8333/sdk -u USERID -p PASSWORD list
    Total running VMs: 1
    [standard] CentOS 5/CentOS 5.vmx
    
  2. 全てののゲスト一覧表示
    > vmrun.exe -T server -h https://localhost:8333/sdk -u USERID -p PASSWORD listRegisteredVM
    Total running VMs: 2
    [standard] CentOS5/CentOS5.vmx
    [standard] CentOS6/CentOS6.vmx
    
  3. 停止中のゲストを起動する
    > vmrun.exe -T server -h https://localhost:8333/sdk -u USERID -p PASSWORD start "[standard] CentOS6/CentOS6.vmx"
    
  4. 起動中のゲストを停止する
    ※電源断と同じ挙動をするためお勧めはしません
    > vmrun.exe -T server -h https://localhost:8333/sdk -u USERID -p PASSWORD stop "[standard] CentOS6/CentOS6.vmx"
    

 


    ○バッチ&vbsで起動する。
    いちいちコマンドを叩くのが面倒なので作成
    作るのに無駄に時間かかったw
    一応使ってますが何かあったときは自己責任でお願いします
    ※ファイルは2個で1つの動作をします。"chkpasswd.vbs"の初期化パラメータを適宜に変更してお使いください。

    ダウンロード:vmserversetting.zip md5:2947DBC46B03B655C5062A54C93CDE32

    ○vmstart.bat

    @echo off
    
    : 簡易説明
    : chkpasswd.vbs : VMのGUEST起動時にパスワードを入力するVBS(初期化設定が必要)
    : 
    
    : 画面クリア
    cls
    
    :setpasswd
    : パスワード入力
    echo パスワードを入力してください
    for /f "usebackq tokens=*" %%i IN (`cscript chkpasswd.vbs`) DO @set basecom=%%i
    
    : 遅延処理有効
    setlocal ENABLEDELAYEDEXPANSION
    
    :getrunvmlist
    : 起動中GUEST情報取得
    set runvmcom=%basecom% list
    set N=0
    for /f "usebackq tokens=*" %%i in ( `"%runvmcom%"` ) do (
    set x[!N!]=%%i
    set /A N=N+1
    )
    if "%x[0]%"=="Error: Insufficient permissions in host operating system" (
    echo パスワードがユーザIDまたはパスワードが間違っている可能性があります。
    goto :setpasswd
    )
    
    : 起動中のGUESTの個数取得
    for /f "usebackq tokens=1,2,3,4" %%i in ( `echo %x[0]%` ) do @set runvmcnt=%%l
    
    : 全部のGUEST情報取得
    set allvmcom=%basecom% listRegisteredVM
    set M=0
    for /f "usebackq tokens=*" %%j in ( `"%allvmcom%"` ) do (
    set y[!M!]=%%j
    set /A M=M+1
    )
    
    : 全GUSETの個数取得
    for /f "usebackq tokens=1,2,3,4" %%i in ( `echo %y[0]%` ) do @set allvmcnt=%%l
    
    : VM一覧表示
    call :CreatePrintList
    
    
    goto :exit
    
    :CreatePrintList
    : VM一覧表示
    set RUNFG=0
    
    cls
    
    echo VMの一覧です。
    echo;
    for /L %%N in (1,1,%allvmcnt%) do (
    for /L %%M in (1,1,%runvmcnt%) do (
    if !x[%%M]!==!y[%%N]! (set RUNFG=1)
    )
    if !RUNFG!==1 ( echo %%N:	!y[%%N]!	....	RUNNING )
    if !RUNFG!==0 ( echo %%N:	!y[%%N]!	....	NOT RUNNING )
    set RUNFG=0
    
    )
    
    : 操作するサービス設定
    goto :setservice
    
    :setservice
    : 操作するサービス設定
    echo;
    echo 処理をするサービスの数字を入力してください。バッチファイルを終了するは 0 を入力
    set /p vmservice="> "
    
    if %vmservice%==0 ( goto :exit )
    
    : 設定するステータス入力
    goto :setvmstatus
    
    
    :setvmstatus
    : 設定するステータス入力
    
    set RUNFG=0
    echo;
    echo VMを「起動」または「停止」を選んでください。起動:1 , 停止:0
    set /p vmstatus="> "
    
    if %vmstatus%==0 ( goto :vmstop )
    if %vmstatus%==1 ( goto :vmstart )
    
    if %RUNFG%==0 ( 
    echo 入力値が範囲内にありません。最入力してください
    goto :setvmstatus
    )
    
    :vmstart
    : GUEST起動処理
    call set vmservice=%%y[%vmservice%]%%
    %basecom% start "%vmservice%"
    
    goto :getrunvmlist
    
    :vmstop
    : GUEST停止処理(通常は使わない)
    call set vmservice=%%y[%vmservice%]%%
    %basecom% stop "%vmservice%"
    goto :getrunvmlist
    
    :exit
    
    endlocal
    echo;
    
    ○chkpasswd.vbs
    'パスワード取得→基本構文作成スクリプト
    
    '---------------------------初期設定----------------------------
    'ユーザ名
    USERID = "USERID"
    '
    'VMのPATH
    VMPATH = "C:\Program Files\VMware\VMware Server\"
    '---------------------------------------------------------------
    
    
    Set WshShell = WScript.CreateObject("WScript.Shell")
    
    Set objPassword = CreateObject("ScriptPW.Password")
    
    strPassword = objPassword.GetPassword()
    Wscript.Echo
    Wscript.Echo( """" & VMPATH & "vmrun.exe"" -T server -h https://localhost:8333/sdk -u " & USERID & " -p " & strPassword )
    

 

カテゴリートップ
Windows