xsw222 发表于 2019-2-19 11:44:32

WSUS 可以退休了 WINDOWS UPDATES AND ANSIBLE

  欢迎来到我们以Windows为中心的第四部分入门系列!
  大多数IT部门的职责之一是保持系统的更新。在这篇文章中,我们将快速了解如何使用Ansible来管理Windows节点上的更新。从六台Windows机器的一个小例子开始,我们将展示一个针对这些主机的游戏示例。最后我们将分享完整的例子。
Updates, Updates, Updates...
  管理Windows更新是可以理解和使用Ansible快速定制的东西。下面是一个在主机上运行更新的小规模示例,在进程中可以灵活地进行更新。这里的示例假设存在一个域,并且正在传递主机域凭据。如果您想测试这个示例,请务必阅读Bianca早些时候的入门文章连接到Windows主机.
  由于此示例是针对独占Windows机器运行的,因此连接所需的信息可以包含在库存文件中:
  
ansible_connection: winrm
  
ansible_user: administrator
  
ansible_password: This-Should-Be-a-Password!
  

例如
  示例主机包括三组服务器,每组两台。有终端服务器、应用服务器和目录服务器。为了演示的目的,我们将对每个组的WindowsUpdate需求进行不同的处理。在库存文件中指定组可以方便地按需要处理每个组。
  
rocket.milano.local
  
groot.milano.local
  

  

  
drax.milano.local
  
mantis.milano.local
  

  

  
peter.milano.local
  
gamora.milano.local
  

Win_UPDATE模块
  在之前的一篇文章中,杰克谈到了WIN包装和WIN巧克力包装管理。对于Windows更新,还有另一个模块名为WIN更新以某种粒度管理来自Microsoft的更新。
  在我们的示例中,终端服务器用于接收通用应用程序更新、一般更新以及安全/关键更新,以及恶意软件保护的定义更新。此组还将获得一个特定的修补程序,该修补程序将以其KB编号为白色。对于Ansible 2.5,reboot参数允许系统在需要时执行重新引导,而reboot_timeout参数则设置等待重新启动完成的时间长度(以秒为单位)。
- name: Run Updates on Terminal Servers then wait 7 mins  hosts: terminalservers
  connection: winrm
  

  tasks:
  win_updates:
  category_names:
  - Application
  - CriticalUpdates
  - DefinitionUpdates
  - SecurityUpdates
  - Updates
  whitelist:
  - KB4093120
  reboot: yes
  reboot_timeout: 420
  

  应用程序服务器组的更新类别选择略有不同,并且有不同的KB白名单。在我们想象的应用服务器上,可能需要更多的时间来优雅地关闭和重新启动,因此为了安全起见,重新启动超时设置了几分钟。
- name: Run Updates on App Servers and wait 10 mins  hosts: appservers
  connection: winrm
  

  tasks:
  win_updates:
  category_names:
  - CriticalUpdates
  - DefinitionUpdates
  - SecurityUpdates
  - Updates
  whitelist:
  - KB4022723
  reboot: yes
  reboot_timeout: 600
  

  最后,最后一组设置为只接收关键和安全更新。黑名单参数也被传递来阻止不想要的更新。在任何更新都需要重新启动的情况下,超时计数器将增加到15分钟,以确保ActiveDirectory服务器在完成任何更新之前有足够的时间备份。
- name: Run Updates on Directory Servers then wait 15 mins  hosts: directoryservers
  connection: winrm
  

  tasks:
  win_updates:
  category_names:
  - CriticalUpdates
  - SecurityUpdates
  blacklist:
  - Microsoft Silverlight
  reboot: yes
  reboot_timeout: 900
  

就这样
  您的实际环境可能会与我们使用的示例略有不同,但用法将是相似的。需要注意的是,win_update模块没有指定用于更新的源。这意味着目标主机上配置的任何内容-Microsoft Update、Windows Update、WSUS-都将是目标主机用于更新的源。此外,根据补丁大小和运行更新的频率,这是一个比我们在示例中使用的7-15分钟时间更长的进程,并且比默认的时间(1200毫秒或20分钟)要长。如往常一样,在野外使用前进行测试。
更多信息
  下载并安装Windows更新:Win_Update模块文档
  GitHub示例:github.com/Ansible-Getting-Started/win_updates_usage


页: [1]
查看完整版本: WSUS 可以退休了 WINDOWS UPDATES AND ANSIBLE