我使用以下命令setup_server.exe
在远程 Windows 机器上运行:
powershell -command "$encpass=convertto-securestring -asplaintext RPASSWORD -force;$cred = New-Object System.Management.Automation.PSCredential -ArgumentList RUSER,$encpass; invoke-command -computername RCOMPUTERNAME -scriptblock {setup_server.exe} -credential $cred;"
setup_server.exe
的任务是创建一些配置文件并启动my_server.exe
(一些守护进程),然后完成。我想在完成my_server.exe
后继续运行setup_server.exe
。
因此,当我通过本地机器上的 CMD 执行此操作(即仅从setup_server.exe
CMD 运行)时,它可以工作,但是当我通过远程主机上的 powershell 执行此操作时,它不起作用。即my_server.exe
开始,但在setup_server.exe
关闭之后服务器也被关闭(杀死)。
所以问题如下:我应该使用哪些 powershell 标志/cmdlet 来使所描述的场景像在本地模式下一样工作?
注意:我想同步获取 的输出setup_server.exe
,因此使用标志运行远程命令-AsJob
可能对我不起作用,尽管我什至不知道它是否会在setup_server.exe
结束后保持服务器活动。