答案1
通过 SCCM 使用脚本实际上听起来是个不错的方法。您能否提供更多信息来说明为什么它不起作用,或者为什么有些客户端没有获得更新?也许可以修改您的脚本,以便将返回代码传递给 SCCM,这样您就可以获得更好的报告。
例如,查看运行,它将返回命令的退出代码。因此您的行应该是:
Success = WshShell.Run "\\server\robocopy.exe ""\\path\to\folder"" C:\Destination_Folder /MIR, 0, True
查看文档Robocopy显示成功时它将返回 0 或 1。现在大多数命令在成功时都会退出 0,我认为 SCCM 会报告这一点。因此,下一步是确保您的 VBScript 将正确的结果传递回 SCCM。在这种情况下,如果 Success 为 0 或 1,则返回 0,如果 Success >1,则返回 1(或者您可以获得更高级的功能并返回特殊代码以在 SCCM 中获取不同的错误消息)。要传递此退出代码,我们查看了WScript.退出我们看到我们需要奔向WScript.Quit (1);
失败或WScript.Quit (0);
成功
SCCM 的优点在于,它让所有客户端从服务器拉取数据,并且可以使用 SCCM 来暂存该事件,从而减少主机文件服务器上的负载。
相反(且更丑陋)的方法是让您的服务器将文件夹内容推送到每个客户端。假设您可以列出所有计算机的列表,您应该能够编写一个简单的脚本,该脚本会遍历该列表并将文件夹复制到每个客户端。但是,这种方法要求客户端计算机在您启动复制时处于打开状态(SCCM 可以为您处理此事)
另一个可能的替代方案(您可能已经想到了)是将此文件夹放在共享驱动器上。完全消除推出文件的问题。根据文件夹的大小,这可能是一个可行的替代方案。
答案2
为什么不设置一个 Subversion 服务器,然后让用户使用 TortoiseSVN 之类的工具来获取更新?