PsExec 替代方案

PsExec 替代方案

有没有其他替代 PsExec 的实用程序?如果我主要使用批处理脚本进行自动化工作。由于 psexec 不稳定,例如挂起/无响应,我可能需要其他解决方案。社区可以提出建议吗,谢谢。

编辑:我对 psexec 有 2 个特殊问题。

  1. https://superuser.com/questions/168706/cant-start-program-by-psexec-on-windows-server-2003-64-bit

  2. 我有一个 ASP.NET Web 服务,它仅从远程 SOAP API 调用中调用 psexec。每天检查时,我都能看到 10-20 个 psexec 挂在任务管理器中。在高峰时段,Web 服务器会收到大约 1-5 个请求,但可能只持续 5 分钟。下面是我的代码。


Process psexecProcess = new Process();
ProcessStartInfo psi = new ProcessStartInfo("PsExec.exe");

string psexecArg = "-u " + GetRemoteAccount(serverType) 
+ " -p " + GetRemotePW(serverType) 
+ " \\\\" + GetManagementServerIP(serverType) 
+ " C:\\MyBatchScript.bat " + username;           

//set process options
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.CreateNoWindow = true;
psi.Arguments = psexecArg;  //set psExec command

psexecProcess.StartInfo = psi;
psexecProcess.Start();     //run PsExec

StreamReader reader1 = psexecProcess.StandardError;
string result1 = reader1.ReadToEnd();

StreamReader reader2 = psexecProcess.StandardOutput;
string result2 = reader1.ReadToEnd();

psexecProcess.WaitForExit();

这就是我对 psexec 感到如此沮丧的原因。社区能帮我找出这两个问题吗?请指教,谢谢。

编辑2: 我还需要 64 位服务器的替代方案(适用于 Windows Server 2003 64 位)。

答案1

PowerShell 2 具有远程执行文件的能力。

答案2

我同意 Zoredache 的观点。PsExec 在其功能上表现相当不错。如果出现问题,可能是您正在调用的程序,而替代方案并不一定能做得更好。

但是,如果您尝试远程交互(通过脚本),那么像 Expect 这样的解决方案是更好的解决方案。您能提供更多关于您要做什么的详细信息吗?

答案3

Power Admin 最近发布行政助理它被认为是 PsExec 的替代品。

相关内容