【发布时间】:2016-06-21 05:38:24
【问题描述】:
我使用 PowerShell 在远程服务器上运行控制台 EXE,并看到它的输出如下:
Invoke-Command -ComputerName %SERVER_NAME% -ScriptBlock { Set-Location "%EXE_DIR%" ; .\MyExe.exe %EXE_ARGS% }
这可行,但除了通过 RDP 连接到服务器外,我无法终止该进程。如果我可以将它的进程 ID 保存到一个文件中,我应该可以使用Stop-Process 来杀死它。我试过这个:
Invoke-Command -ComputerName %SERVER_NAME% -ScriptBlock { Start-Process -NoNewWindow -PassThru -Wait -WorkingDirectory "%EXE_DIR%" "%EXE_DIR%\MyExe.exe" "%EXE_ARGS%" }
进程运行,但现在我看不到它的标准输出!当我在本地使用 Start-Process(没有 Invoke-Command)时,我看到了输出。
如何获取进程 ID 和标准输出/错误?
【问题讨论】:
-
调查工作。
get-help about_Jobs,和-AsJob等
标签: powershell