可能重复:
应用程序部署的流行(免费?)选项有哪些?
我的办公室里有大约 20-30 个 Windows 客户端。我需要以编程方式访问每个客户端并在其上安装一些软件。
不使用任何架子软件,而仅通过编码,实现这样的目标的最简单方法是什么?
我在 Linux 上要做的是通过scp
传输文件可执行文件并通过 ssh 连接来运行该可执行文件(我甚至不确定这是在 Linux 上执行此操作的正确方法)。
答案1
一个非常常用且极其有用的工具是执行,这将允许您在远程计算机上执行命令,并在必要时将文件复制到目标计算机。您还会发现其余的 pstools 也非常方便。
需要注意的是 - 大多数防病毒软件都反对 psexec,因此您需要为其设置例外。
答案2
Sysinternals/Microsoft 的 psexec将允许您在远程服务器上执行命令。您可以使用标准网络驱动器将文件传输到每台机器上。
答案3
如果它是 MSI 文件,您可以通过 Active Directory 系统上的 GPO 策略运行它。
另一种选择是获取以编程方式运行的脚本软件,因此您可以将安装程序软件放在共享位置,然后转到每台机器并运行脚本文件来执行所有操作,类似于 AutoIT(免费)。
我们研究过自动安装方法,但尚未发现任何适用于各种安装程序的 100% 可靠的方法。有时我们会发现某些东西接近正常工作,但会在相当不方便的时候中断,有时我们会发现安装程序无法使用我们找到的自动化方法。这还取决于您的环境的同质程度,因为有时您的配置可能会抛出您未测试的错误或异常对话框,而自动化似乎不喜欢这种情况。
无论选择哪种方法,请确保在设置它并忘记它之前对其进行测试并进行更多测试,并认为它会起作用。
答案4
您还可以使用 PowerShell 远程管理这些盒子。使用 PowerShell,您可以执行许多任务,包括管理其上的软件。
根据 Windows 的版本,他们可能已经安装了 PowerShell。NT6 及更高版本已安装,只需进行配置……您可以通过组策略对象轻松完成配置。如果他们是 Windows XP 客户端(对不起!),那么您需要安装这些位。
基本上,您需要配置 PowerShell,打开这些客户端上的防火墙,然后就可以开始了。PowerShell 使用 WS-Management 协议(开放标准很好)。