【问题标题】:Psexec is not running an EXE program remotelyPsexec 没有远程运行 EXE 程序
【发布时间】:2023-04-30 05:11:01
【问题描述】:

到处检查是有原因的,但我发现没有任何东西符合我的具体问题。我在远程 pc 的C:\somefoldername\anothersubdirectory\andanother\ 中有一个程序,我尝试使用 PSEXEC 运行它,但它不需要。 PSEXEC 只是不想为我运行任何东西。现在,如果我通过 psexec 运行 ping 或任务列表,它可以工作,但显然这是在 PATH 中。

所以我输入:

PSEXEC \\pcname C:\somefoldername\anothersubdirectory\andanother\program.exe

什么都没有发生。

我什至写了一个批处理脚本,尝试以两种不同的方式运行。

脚本只是:

@ECHO OFF
C:\somefoldername\anothersubdirectory\andanother\program.exe
EXIT

我把它复制到远程电脑的主目录(也许我需要把它放在一个文件夹中),然后我尝试运行C:\batch.bat 使用:

PSEXEC \\pcname C:\batch.bat

我也尝试跑步:

PSEXEC \\pcname -c \\servername\batch.bat

所以它会将其复制到 PATH。

都没有用。

我尝试通过 PSEXEC 运行的任何程序是否必须位于远程 pc 的路径中?

我必须承认我还没有远程运行 EXE,但是我使用 psexec 编写了更长的脚本,这些脚本在服务器上使用批处理文件而没有任何问题。

奇怪的是我运行的程序有参数,我的任务是通过它运行,所以我首先远程杀死它,然后我 PSEXEC 相同的 EXE:

psexec \\pcname C:\...\program.exe -a -few -parameters ODBC

这行得通。当我尝试自己打开 program.exe 时,没有。

我也尝试过psexecing iexplore.exe,但也没有用。

【问题讨论】:

    标签: psexec sysinternals


    【解决方案1】:

    所以必须使用 -i 选项。除此之外,必须使用 -p + -u 或 -s 来加载系统硬件相关的 gui。这就是大部分 gui 丢失的原因,或者我假设原因。

    【讨论】:

      【解决方案2】:

      你能试试这个格式吗

      psexec \\machineName -u username -p password /accepteula -h cmd /c  
      C://somefoldername//anothersubdirectory//andanother//program.exe >>log.txt
      

      更清楚

      1. 在您的用户计算机中下载 PSEXEC 工具 zip 文件并解压缩。
      2. 打开命令提示符并转到 psexec 路径。 在我的机器上是:D:\PsTools

      3. 运行以下命令行 语法:

        D:\PsTools> psexec \\ip_address -u username -p Password cmd  /c  executablename  arguments  >> test.log
        

      【讨论】:

      • 所以我这样做了……结果如下。它会打开 .exe(我测试了我的程序和 IE)但不可见。它有一个 PID 并显示在任务列表中,但不可见。当我使用 -i 选项运行 psexec 时,它会显示有问题的程序,但它们看起来是错误的;即缺少大量的gui。不可见部分解释了为什么当我运行 IE 时,如果未打开 -d 选项,psexex 屏幕会在 Mark Russinovich Sysinternals 消息中冻结。我会认为没有任何东西在运行,但有些东西在后台。 -i 会让它出现,但又很奇怪。有什么解决办法吗?
      • Psexec 是否旨在用于运行(我猜在这种情况下只是“打开”)应用程序并保持打开状态?这就是我试图用我的应用程序和 IE 做的事情,这两个都是高度依赖于 GUI 的应用程序。我猜 GUI 的某些部分没有加载。
      • 哦,再一次,如果我运行它调用 cmd 并让 cmd 运行应用程序,它与 GUI 做同样的事情。
      最近更新 更多