2

VMWare Workstation と PowerShell の初心者向けの知識があります。

vmrunこのツールを使用して、ローカル マシンで VM を正常に起動するスクリプトを作成しました。ただし、リモート セッションで実行しても何も起こりません。理由はありますか?

Get-PSSession | Remove-PSSession
$VMHostMachine | New-PSSession 

$rs = Get-PSSession  # testing using localhost

Write-Debug ("Now starting VM on host: " + $VMHostMachine)
$script = {param($VMImagePath, $VMConsolePath);
    $QuotedVMPath = "`"{0}`"" -f $VMImagePath
    $Result = Start-Process -FilePath $VMConsolePath -ArgumentList "-T", "ws", "start", $QuotedVMPath -Wait -PassThru -NoNewWindow
}

Invoke-Command -Session $rs -ScriptBlock $script -ArgumentList $vmConfig.VMImagePathOnHost, $vmConfig.VMRunUtiltyPath

Invoke-Commandセッションパラメータを削除すると機能します:

Invoke-Command -ScriptBlock $script -ArgumentList $vmConfig.VMImagePathOnHost, $vmConfig.VMRunUtiltyPath

PSSession を介してローカルホストのスナップショットに正常に戻る同様のスクリプトがあるのに、VM を起動すると問題が発生するのはなぜですか?

4

1 に答える 1

0

「enter-pssession」してから起動しようとすると機能しますか?

デスクトップ/GUIセッションが表示されていないPSSessionを介してコマンドを呼び出し、VMWareワークステーションが表示されることを期待しているため、ここでは「機能していない」と思いますか? 受信側はサービスです。

Get-Process を使用して、プロセスが VMWare を実行しているかどうかを確認できます。

ここで達成したいことを行うには、アクティブなセッションでアプリケーションを起動できる PsExec を参照してください。

https://technet.microsoft.com/en-US/sysinternals/bb897553.aspx

PSExec の「-i」パラメータに注意してください。

于 2015-03-01T22:12:18.663 に答える