【发布时间】:2020-02-10 02:39:07
【问题描述】:
要远程管理 Windows 客户端,我使用的是 Pywinrm。我要完成的任务是执行一个脚本,我不想等待执行完成。但我需要那个进程ID
为此,我找到了 power shell 命令Start-Process,它可以在本地正常执行
$process = Start-Process -FilePath "fio" "Arguments" -PassThru -RedirectStandardError C:/SMB-Share-991A-F73SV-fio.alogs.std.err.bak -RedirectStandardOutput C:/SMB-Share-991A-F73SV-fio.alogs.std.out.bak; echo $process.id
当我在本地执行上面的命令时,它可以正常工作,它会返回进程 ID,并且命令在单独的窗口中执行。
但是当我使用 pywinrm 调用它时,它似乎没有按预期工作。
session = winrm.Session(host, auth=(user, password), transport='credssp')
result = session.run_ps(script)
所以在这里我期待它应该在执行后立即给我 processid。但目前,它正在等待整个过程完成,然后返回 id。
关于我应该在分离模式下执行命令的任何建议。
谢谢, 尼克西特
【问题讨论】: