我正在尝试使用批处理文件和psexec.exe通过我的主桌面打开远程计算机上的.exe程序。
我已经能够使用pskill远程杀死程序,但是当我运行打开程序所需的命令行时,窗口会打开几分之一秒,然后由于错误而关闭。它给出的错误代码是:-2146232576。
我已经尝试使用谷歌搜索这个错误实际上是什么,但我找不到多少。有谁知道这个错误与此有什么关系?
这是我制作的批处理文件不起作用:
cd c:\Users\[local user]\Downloads\PSTools\
psexec.exe \\computername -u [user] -p [password] "C:\Users\[user]\Desktop\SQAUtilities\utlity.exe"
注意:我在StackOverflow上发现了一个类似但有错误代码的问题:
还有:
Error code 1073741502 when running psexec through TeamCity
这个答案说错误是“低级.NET初始化错误,CLR无法加载”:
答案 0 :(得分:1)
这可能是PSExec传回给你的utility.exe的退出代码,而不是PSExec生成的错误。
以下是一个可能的来源: FIX: 0x80131700 error code when starting or configuring the Enterprise Single Sign-On Service
我不知道utility.exe
的作用,但如果它尝试执行Windows身份验证,PSExec可能会阻止它。根据我的经验,PSExec故意阻止某些行为(在某些情况下)。例如,如果您不使用用户名/密码,则所有访问远程共享的尝试都会立即失败。
由于您提供了一些信用,这可能不是确切的问题,但如果utility.exe需要访问您的Kerberos票证或其他内容,则可能无法在PSExec会话中访问它们。
utility.exe
)在交互式运行时(GUI登录)作为用户在远程计算机上运行?当然你已经尝试过,但只是为了确保...... -i
参数与特定的GUI会话进行交互。您可以尝试登录远程计算机,使用-i 2
运行命令(或任何会话qwinsta
告诉您正在使用-2对于远程桌面连接是常见的)并查看它是否打开任何错误对话框这些信息更丰富。答案 1 :(得分:1)
远程运行EXE安装文件时遇到同样的错误(不要将其复制到本地)。尽管我可以告诉这是一个与权限不足有关的错误。对我来说,简单添加-S开关(以SYSTEM身份运行)解决了我的问题。
为什么这样做我不确定 - 我一直认为SYSTEM严格限于本地资源,但我正在运行的EXE位于网络共享上。
希望这有助于某人。
答案 2 :(得分:0)
我最近遇到了同样的错误,并找出了为什么得到这个错误。 您必须先在远程计算机上制作“ utility.exe”的本地副本,然后才能通过PsExec启动它。
for /f "usebackq delims=" %%i in ("d:\utility\remote_computers.txt") do (
xcopy "D:\utility\utility.exe" "\\%%i\d$\" && psexec \\%%i -u %%i\administrator -p password cmd /c "/i \\%%i\d$\utility.exe"
)
Pause