Вот фрагмент кода:
import subprocess
output = subprocess.run(["psexec.exe",
"\\\\<machine-name>",
"/u", "<machine-name>\\TestAdmin",
"/p", "<password>",
"cmd /c dir"],
capture_output=True,
text=True,
shell=True)
print(output.stdout)
print(output.stderr)
И вот что я получаю:
E:\python-scripts>python runpsexec.py
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
The system cannot find the path specified.
Connecting to <machine-name>...
Starting PSEXESVC service on <machine-name>...
Connecting with PsExec service on <machine-name>...
Starting cmd /c dir on <machine-name>...
PsExec could not start cmd /c dir on <machine-name>:
Я также попытался передать параметр -s
, чтобы запустить его как системную учетную запись. Если я напрямую запускаю psexec из командной строки cmd, я могу запустить ту же команду и получить правильный вывод.
Есть ли какие-либо ограничения при запуске psexec
через subprocess.run()
? Или я что-то упустил?