有没有其他替代 PsExec 的实用程序?如果我主要使用批处理脚本进行自动化工作。由于 psexec 不稳定,例如挂起/无响应,我可能需要其他解决方案。社区可以提出建议吗,谢谢。
编辑:我对 psexec 有 2 个特殊问题。
https://superuser.com/questions/168706/cant-start-program-by-psexec-on-windows-server-2003-64-bit
我有一个 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 的替代品。