从主机传递的psexec运行python脚本

从主机传递的psexec运行python脚本,python,python-2.7,psexec,Python,Python 2.7,Psexec,我正试图通过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

我正试图通过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。我希望能够从主机传递脚本


非常感谢您的帮助。谢谢。

如果扩展名
.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:\test\test.py
。换句话说,Python可能在解释
-c
开关,而不是PsExec。Python开关
-c
指定一些要运行的Python代码,当然文件名不是有效的Python代码:

C:\Users\Luke>python-C“打印2+2”
4.
C:\Users\Luke>python-C:\test\test.py
文件“”,第1行
C:\test\test.py
^
SyntaxError:无效语法
C:\Users\Luke>echo%ERRORLEVEL%
1.

能够从远程计算机和主机访问共享驱动器上的python脚本,因此通过从主机复制到共享并从远程计算机上的共享读取,我找到了一个合适的解决方法(不需要-i开关)

相关:如果您在windows上运行,并且正在从python脚本(如上面的test.py)写入UNC路径,则有用的路径格式化帮助:


I将.py和远程计算机上的python.exe相关联。从命令行删除可执行文件失败,错误为:PsExec无法在192.168上启动test.py。X.X:系统找不到指定的文件。
psexec \\remote_machine_name -u domain\user -p pswrd -i C:/Anaconda/python.exe \\server\share\test\test.py