簡體   English   中英

如何使用Powershell在VMWare Workstation上遠程啟動VM?

[英]How do I remotely start a VM on VMWare Workstation using Powershell?

我有VMWare工作站和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會給我帶來麻煩?

如果您“輸入pssession”然后嘗試調用,它是否有效?

我在這里假設它“不起作用”,因為您通過PSSession在沒有可見的桌面/ gui-session的情況下調用命令,並且您期望VMWare工作站出現嗎? 接收端是服務。

您可以使用Get-Process檢查進程是否正在運行VMWare。

要在這里完成您想實現的目標,您可以看一下PsExec,它可以將應用程序啟動到活動會話中。

https://technet.microsoft.com/zh-CN/sysinternals/bb897553.aspx

注意PSExec上的“ -i”參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM