我正在做一个我必须启动一个应用程序并且这个应用程序应该在后台运行的作品。我尝试了 Start-Process cmdlet,如下所示:
try {
Invoke-Command -Session $newsession -Scriptblock {
Write-Host "Cd'ing and starting Vesper on" $loadvm
Start-Process cmd -ArgumentList "/c C:\vesper_cpt\Vesper.exe -auto" -verb runas
} -ErrorAction Stop
} catch [Exception] {
echo "Error while running the remote command", $_.Exception.GetType().FullName, $_.Exception.Message
Remove-PSSession $newsession
exit 1
}
删除-PSSession $newsession
发生的事情是我可以看到它在目标机器上启动了一个 cmd 进程,但随后它立即消失了。我不确定我应该在这里做什么才能让该过程始终启动并运行。另一方面,我也尝试了Invoke-Expression cmdlet,通过它我可以看到进程在远程机器上启动良好,但 powershell 脚本永远不会返回,这就是为什么想到使用 Start-Process。有什么建议么?