前一阵因为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补丁安装列表:
后续有个设想,把这个操作全程作为自动化,看看自己需要多长时间才能完成。
时间: 2024-10-29 19:13:32