在对我们的服务器基础设施进行虚拟化之后,在过去的两年中,Windows 服务器的数量已经从大约 20 台增长到了 75 台,主要是通过将我们公司的每个服务迁移到自己的虚拟机上,但我们也在部署需要一台或多台服务器的新应用程序。
在过去,保持 Windows 更新只需要我 1 小时就能完成这个(无聊的)任务,但现在它真的很耗时,而且容易出错(服务器太多,其中一些是集群或 nbl,还有一些服务器的服务依赖于其他服务器,这些服务器在重新启动时需要其他服务器处于在线状态,因此您无法一次性重新启动所有服务器)。
我们的工作流程如下:
1- 某人在 WSUS 中经过少量测试后批准了当月的更新。2- 每个月一次,在星期五晚上,几乎没有人工作的时候,我开始执行无聊的任务:登录每个服务器,wuauclt /detectnow,单击下载更新,单击安装,重新启动(记住其他服务器目前正在重新启动),再次登录,检查重新启动后是否有任何待处理的更新,等等。
我在互联网上搜索,没有找到任何可以帮助我完成此任务的东西,我试图制作 c# 应用程序来管理所有这些而无需手动登录每个服务器,但 wuapi.dll 无法远程下载/安装。
所以,我认为这肯定是一个常见问题,其他人会怎么做?正如您所预料的,我们不能让更新自动安装,也不能在自动更新需要时重新启动。
答案1
您正处于从“中小企业管理”转向“企业管理”的过程中,这本身就足够令人兴奋了。
大多数公司都实施了某种维护窗口概念,其中维护窗口是允许给定服务器重新启动或/和执行维护任务的一段时间。通过进行一些仔细的规划,例如将域控制器/DNS 服务器放在单独的维护窗口组中(与群集节点相同),您应该能够设计分配了不同维护窗口策略的服务器组。一些公司使用系统管理工具(例如 Microsoft System Center Config Manager)来控制维护窗口和补丁管理,但我知道很多大公司只是依靠 WSUS 并使用 GPO 或注册表控制策略。对于一个客户,我们构建了具有 AD 组过滤的 GPO,以便系统管理员只需有一个“星期几组”即可将他们的服务器添加到其中。“星期一”组中的服务器将在每个星期一 23:30 进行修补,依此类推。
因此,有很多工具可供选择,但首先要做的是了解您现在的企业管理业务并制定相应的计划。