我试图通过psexec在远程计算机上运行python脚本。我可以使用以下内容连接并运行python.exe:
C:\test>psexec \\192.168.X.X -u domain\administrator -p password -i C:\Anaconda\python.exe
python.exe的路径是远程计算机上的路径。这将在远程计算机上打开一个python窗口 - 一切都很好。
我现在要从主机传递一个python脚本以在远程上运行。此脚本位于C:\ test \ test.py中的主机上。我试过了
psexec \\192.168.X.X -u domain\administrator -p password -i "C:\Anaconda\python.exe" -c C:\test\test.py
并获得:
C:\Anaconda\python.exe exited on 192.168.X.X with error code 1.
我也尝试过-c test.py没有完整路径,并得到了类似的错误。我的想法是远程应用程序找不到C:\ test \ test.py。我希望能够从主机传递脚本。
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
如果.py
扩展已与远程计算机上的Python安装相关联,则可以通过从命令行中删除Python可执行文件来运行Python脚本:
psexec \\192.168.X.X -u domain\administrator -p password -i -c C:\test\test.py
请注意我没有尝试过这个,因为我目前无法访问远程计算机,所以我无法保证它能够正常工作。
该行
psexec \\192.168.X.X -u domain\administrator -p password -i "C:\Anaconda\python.exe" -c C:\test\test.py
可能正在尝试在远程计算机上运行命令"C:\Anaconda\python.exe" -c C:\test\test.py
。换句话说,Python可能正在解释-c
开关,而不是PsExec。 Python开关-c
指定要运行的一些Python代码,当然文件名不是有效的Python代码:
C:\Users\Luke>python -c "print 2 + 2"
4
C:\Users\Luke>python -c C:\test\test.py
File "<string>", line 1
C:\test\test.py
^
SyntaxError: invalid syntax
C:\Users\Luke>echo %ERRORLEVEL%
1
答案 1 :(得分:0)
能够从远程计算机和主机访问共享驱动器上的python脚本,因此通过从主机复制到共享并从远程计算机上的共享读取,我有一个合适的解决方法(-i开关)不需要)。
psexec \\remote_machine_name -u domain\user -p pswrd -i C:/Anaconda/python.exe \\server\share\test\test.py
相关:如果您在Windows上运行并从python脚本写入UNC路径,即上面的test.py,那么有用的路径格式化帮助:
python copy files to a network location on Windows without mapping a drive