如何从 Windows 计算机编写其他 Windows 计算机上的远程命令脚本?
例如,在 *nix-*nix 网络上,我可以执行ssh wu@otherbox foo
,并且只要密钥设置正确,它foo
就会运行,并且 ssh 客户端就会返回返回代码。
答案1
psexec-http://technet.microsoft.com/en-us/sysinternals/bb897553
PsExec 是一个轻量级的 telnet 替代品,可让您在其他系统上执行进程,并为控制台应用程序提供完整的交互性,而无需手动安装客户端软件。
另一种选择是编写 powershell 或 vbscript(使用 WMI)。
答案2
WMI 命令行工具是一个不错的选择:
wmic.exe /node:somecomputer process call create "c:\bin\uphclean\uphclean.exe -install"
答案3
你应该调查一下执行程序公用事业。
答案4
如果您正在寻找脚本方法,还有另一种方法。除了 psexec 和 wmic 之外,还可以通过 powershell 完成此操作。远程 powershell 仅适用于 Windows 7,可能还适用于 Vista,并且绝对适用于 Server 2008。
invoke-command -computername YourTarget01 -scriptblock {
$Object=get-something $Wibble
$Data1=$Object.method
}
要使用此功能,需要在目标机器上打开并配置 WinRM。这些内容可以通过 GPO 推送,因此您不必到处手动配置。方便进行大规模部署。对于复杂的操作,最好创建一个会话对象,这样您就不会在每次访问机器时都启动一个新的会话对象:
$Session=new-pssession -ComputerName YourTarget01
invoke-command -Session $Session -Scriptblock { }
默认情况下,凭证是调用者的凭证,但其他凭证可以指定为选项。