温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

WSUS 可以退休了 WINDOWS UPDATES AND ANSIBLE

发布时间:2020-07-10 19:17:05 来源:网络 阅读:1319 作者:pcdog 栏目:系统运维

欢迎来到我们以Windows为中心的第四部分入门系列!

大多数IT部门的职责之一是保持系统的更新。在这篇文章中,我们将快速了解如何使用Ansible来管理Windows节点上的更新。从六台Windows机器的一个小例子开始,我们将展示一个针对这些主机的游戏示例。最后我们将分享完整的例子。

Updates, Updates, Updates...

管理Windows更新是可以理解和使用Ansible快速定制的东西。下面是一个在主机上运行更新的小规模示例,在进程中可以灵活地进行更新。这里的示例假设存在一个域,并且正在传递主机域凭据。如果您想测试这个示例,请务必阅读Bianca早些时候的入门文章连接到Windows主机.
由于此示例是针对独占Windows机器运行的,因此连接所需的信息可以包含在库存文件中:

[all:vars]
ansible_connection: winrm
ansible_user: administrator
ansible_password: This-Should-Be-a-Password!
例如

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

[terminalservers]
rocket.milano.local
groot.milano.local

[appservers]
drax.milano.local
mantis.milano.local

[directoryservers]
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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI