我们所有的工作站都在其本地驱动器上有一个文件夹,其中包含我们公司使用的一些公用文件。 我们需要定期更新这些文件。 目前,我们正在使用System Center Configuration Manager (SCCM)来运行执行robocopy的VBScript。
此方法在SCCM中不提供非常好的报告,并且某些客户端没有收到更新。
必须有更好的方法来做到这一点,但我不能在网上find任何东西。 我们想要一个对用户透明的自动化方法。 我们愿意花一点钱,但免费的解决scheme是最好的。 任何帮助,将不胜感激。 谢谢!
通过SCCM使用脚本听起来像是一个很好的方法。 你能提供更多的信息:为什么它不工作,或为什么有些客户没有得到更新? 可以修改脚本,以便将返回代码传递给SCCM,并获得更好的报告。
例如,查看WshShell.Run的文档,它将返回您的命令的退出代码。 所以你的行应该是:
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.Quit的文档,我们看到我们需要运行WScript.Quit (1); 失败或WScript.Quit (0); 为了成功
关于SCCM的一个很好的部分是它拥有所有的客户端从服务器上拉下来的数据,SCCM可以用来展示这个事件,从而减less主机文件服务器上的负载。
相反(和丑陋的)方法是让你的服务器将文件夹内容推送到每个客户端。 假设您可以转储出所有计算机的列表,那么您应该可以将一个简单的脚本放在一起,然后将该文件夹复制到每个客户端。 但是,这种方法需要您在启动副本时启动客户端计算机(SCCM可以帮您处理的事情)
另一种可能的替代方法(您可能已经想到了)是将此文件夹放在共享驱动器上。 消除完全推出文件的问题。 根据文件夹的大小,也许这是一个可行的select。
为什么不build立一个Subversion服务器,然后让用户使用像TortoiseSVN的东西来拉动更新?