1. 程式人生 > >ansible控制windows主機群批量打補丁

ansible控制windows主機群批量打補丁

自動化運維 ansible windows自動化運維

前一陣因為windows SMB協議漏洞,手動給windows打補丁,累覺不愛。


研究後找出簡單方法,使用ansible進行批量化操作,避免人工的繁雜。


windows補丁下載網站

https://www.catalog.update.microsoft.com/Search.aspx


下載一個KB4025337,得到鏈接:

$ wget 
http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/07/windows6.1-kb4025337-x64_c013b7fcf3486a0f71c4f58fc361bfdb715c4e94.msu



使用ansible命令將這個補丁復制到C盤

$ ansible win_group -m win_copy -a "src=/ms補丁/windows6.1-kb4025337-x64.msu dest=c:\ "

win_group是定義在hosts中的主機組


cmd中執行的命令如下:

wusa c:\windows6.1-kb4025337-x64_.msu /quiet /norestart /log

wusa命令解析如下:

技術分享

變更到ansible,我們需要調用win_shell命令

$ ansible win_group -m win_copy -a "wusa c:\windows6.1-kb4025337-x64.msu /quiet /norestart /log"

  • 至於為何不使用win_command模塊的原因如下

  • The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like $env:HOME and operations like "<", ">", "|", and ";" will not work (use the win_shell module if you need these features).


  • 最後附上windows安裝成功的日誌記錄,和已經安裝完成補丁列表的截圖

技術分享

windows補丁安裝列表:

技術分享

後續有個設想,把這個操作全程作為自動化,看看自己需要多長時間才能完成。

本文出自 “M層” 博客,轉載請與作者聯系!

ansible控制windows主機群批量打補丁