通过任务计划程序和Powershell脚本实现自动安装Windows补丁

该博客介绍了如何通过Windows的任务计划程序配合Powershell脚本,实现域控服务器的自动安装补丁功能。内容包括如何配置任务计划以确保脚本正确执行,同时输出日志文件便于检查安装状态。还提到了多域控环境下日志文件的统一管理和脚本执行权限的调整。此外,博主分享了设置定时启动和系统启动时运行的计划任务方法,并提醒读者关注脚本执行策略以确保正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

域控补丁通过任务计划程序安装,输出日志方便确认安装情况

多域控安装 同时输出日志到同一目录

后期进一步修改以实现自动设立和删除任务计划程序,避免多余操作

注意:

1.任务计划程序中需要在启动程序填 powershell 在参数栏填写脚本路径 否则将以默认notepad打开脚本

2.无法运行时需要修改脚本执行权限

参考关于powershell脚本运行权限的信息:关于执行策略 - PowerShell | Microsoft Docs

第一个计划任务设置定时启动
 

#启用WindowsUpdate服务
Set-Service wuauserv -StartupType Manual
Start-Service wuauserv
#申明变量
$hostname = hostname
$time = Get-Date
$log = '<Log存放目录>'
$patch = ''<补丁存放目录>"
echo "$hostname $time EnableWindowsUpdate " |Out-File -Append $log
#输出当前服务状态
Get-Service -Name wuauserv |Out-File -Append $log
echo "$hostname  Installing... " |Out-File -Append $log
#遍历目录内文件,如有其他文件添加筛选(*.msu),添加/quiet确保无人值守运行 /norestart确保安装完目录内全部补丁
#cmd命令可使用 FOR /R %%F IN (*.msu) DO start /wait wusa %%F /quiet /norestart
forfiles /p $patch  /c "cmd /c wusa @path /quiet /norestart"
#服务器可能存在多账户登录后台驻留的情况 需要添加Force参数保证可以重启
Restart-Computer -Force

第二个计划程序设立为系统启动时运行,可根据需要添加延迟时间

 

$hostname = hostname
$time = Get-Date
$log = '<Log存放目录>'

#禁用WindowsUpdate服务
Stop-Service wuauserv
Set-Service wuauserv -StartupType Disabled
echo "$hostname $time DisableWindowsUpdate " |Out-File -Append $log
#输出服务状态
Get-Service -Name wuauserv |Out-File -Append $log
#输出域控状态
repadmin /replsummary | Out-File -Append $log
repadmin /syncall | Out-File -Append $log
#输出补丁安装列表
wmic qfe list | Out-File -Append $log
exit

"本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.youkuaiyun.com/weixin_57323573?type=blog。本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值