在Windows 2003服务器上执行远程命令

我有一个命令,我想在远程Windows 2003服务器上执行。

我已经尝试了wmic,它工作,但显示标准输出的唯一方法是redirect到本地文件,然后列出本地文件(笨重的一种)。

我也尝试过psexec,但是在Windows 2003服务器上似乎遇到了问题(至less报告说最新版本 – 旧版本不可用)。

我试图远离Windows rcmd实用程序,因为我相信有一个服务器组件需要安装,我不想提供一般的命令行访问机器。

是否有任何其他build议的工具或实用程序,可以让我在远程机器上的特定命令。

注意:

下面是一个非常简单的例子,我试图让PsExec工作:

C:\Program Files\SysInternalsSuite>psexec \\remote-svr -i -u MyUsername D:\Public\do.bat PsExec v1.95 - Execute processes remotely Copyright (C) 2001-2009 Mark Russinovich Sysinternals - www.sysinternals.com Password: D:\Public\do.bat exited on remote-svr with error code 1. 

我的示例do.bat文件很简单,只包含以下行:

 copy dg.bmp dg1.bmp 

源文件dg.bmp存在于远程机器上,目标文件不是。 我有写访问远程机器。

当我执行上面的PsExec命令时,do.bat文件不能运行(尽pipe我在远程服务器上有权限),并且我没有得到我期望的控制台的输出。 我喜欢使用PsExec的想法,所以如果有什么我可能做错的提示,我将不胜感激。

谢谢…

PSExec和W2k3究竟有什么问题? 我们在一个500 + W2k3的服务器环境中广泛地使用这两者。

实际上,整个PSTools套件让我的世界变得如此震撼。

编辑:

这是您对原始票证进行编辑的后续步骤。

您遇到的问题是“复制”是CMD.exe的一个function。 它本身并不作为自己的可执行文件存在。 就像没有Del.exe或MD.exe等一样

如果你想让你的例子工作,你需要通过PSexec调用CMD,并将复制命令传递给它。 这是一个例子:

 psexec -u MyDomain\MyUsername -p MyPassword \\MyServer cmd.exe /c copy c:\sys\util\monitor_localhost.bat blah.bat 

结果如下:

 ================================== PsExec v1.86 - Execute processes remotely Copyright (C) 2001-2007 Mark Russinovich Sysinternals - www.sysinternals.com 1 file(s) copied. cmd.exe exited on fcgwnt53 with error code 0. ================================== 

pipe理员阿森纳允许您执行一个,一些或所有的Windows系统的远程命令 。 这是免费的尝试。

在select要执行命令的计算机之后,只需select工具 – >远程命令,即可开始工作。

在Windows环境下远程执行命令的方法是使用Winrm和WINrs。 请参阅如何启用Windows远程Shell以及WinRM和WinRS如何帮助您,如何启用,以及如何使用它们的示例。

标准命令可以通过telnet执行,默认情况下在所有Microsoft工作站上禁用,但可以通过GPO启用,并将用户添加到“Telnet用户”对象组。 这对大多数系统命令来说已经足够了。

您可能想要尝试psexec的“-c”选项。 它会将文件复制到远程系统,然后执行它,否则,它会期望它出现在远程系统上。 所以像(复制do.bat到本地系统的c:然后):

psexec -c \ remote-svr -i -u MyUsername c:\ do.bat

另外,为什么你要这个与远程系统的桌面会话(-i选项)交互?

hth,〜H

您的通用命令假定do.bat本地存在于指定位置的远程服务器上。 如果不是这种情况,那么你可以请求psexec.exe使用-C选项将文件从本地机器复制到远程机器,然后运行它。

也正如指出,如果你没有做任何与脚本交互的东西不包括-I选项。

我已经尝试了beyondexec.exe,它是一个很好的替代psexec.exe。

但是我更喜欢现在通过微软提供的psexec.exe,所以在安全鹰的服务器上更容易certificate它的存在。

我可能是错的,但没有PS 2.0允许远程命令和PS 1.0本地只?

我不能说我曾经在Windows机器上试过,但在Linux上,可以通过使用Authprogs脚本来限制ssh可以执行的命令。

我把大多数Windows系统上的HP版本的ssh用于远程命令行使用。 我发现与其他一些Windows版本的ssh相比,安装起来非常容易。 Google“SP25021”find惠普提供的安装程序。

我敢肯定,有很多新版本的Windows sshd可用。 如果你的系统不是在一些严重的防火墙后面,我会build议使用最新的版本。

请参阅:限制SSH命令http://www.cmdln.org/2008/02/11/restricting-ssh-commands/