gpt4 book ai didi

c# - 尝试使用 psexec (c#) 在远程运行 .exe 时出现问题?

转载 作者:行者123 更新时间:2023-11-30 22:39:49 27 4
gpt4 key购买 nike

大家好,我正在尝试在远程机器上运行一个 exe 文件(不是来自,而是 ON)。

我有如下非常简单的代码:

ProcessStartInfo info = new ProcessStartInfo("C:\\PsTools");
info.FileName = "psexec \\\\" + machine.Name + "\\C\\Program Files\\test.exe";
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
Process p = Process.Start(info);

尝试运行此代码时出现“系统找不到指定的文件”错误。

  1. 在指定的目录下有一个名为“test.bat”的文件。
  2. 远程机器在同一个域中,C 文件夹是共享的(我是管理员)。
  3. 我安装了 PsTools 并将其配置为环境变量。
  4. 我已经尝试了多种代码(例如,如果我不在 ProcessStartInfo 构造函数和 FileName 属性上使用“psexec”,bat 文件将在本地机器上运行,而不是在远程机器上运行...)但没有任何效果有效!

有什么想法吗?

最佳答案

我的猜测是它找不到 psexec,因为您已将 UseShellExecute 设置为 false。尝试提供 psexec.exe 的完整路径。

您还应该将 FileName 属性设置为只是您要启动的文件,并将 Arguments 属性设置为命令行参数,像这样:

ProcessStartInfo info = new ProcessStartInfo("C:\\PsTools");
info.FileName = @"c:\whatever\psexec.exe";
info.Arguments = @"""\\" + machine.Name + @"\C\Program Files\test.exe""";
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
Process p = Process.Start(info);

请注意,我Arguments 属性中添加了双引号,这样它就不会因为“Program Files”有一个空格而被分成两个参数

关于c# - 尝试使用 psexec (c#) 在远程运行 .exe 时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com