标题: [原创]局域网用自动检测安装安全补丁脚本
[打印本页]
作者: tyj666
时间: 2007-12-21 23:41
标题: [原创]局域网用自动检测安装安全补丁脚本
局域网所有客户端只要不定期执行本脚本即可升级补丁,只使用于xp sp2 操作系统的补丁升级,也可以将本脚本添加到客户端的启动菜单自动执行,本脚本已经成功应用于我单位局域网100多台电脑补丁升级,本脚本主要是学习本论坛各位老师的脚本,再根据我单位实际情况编写的。各位可以自己修改相关数据,使其能适用于其他版本的补丁升级。
@echo off
::关闭显示信息
for /f "tokens=1 delims=" %%b in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDVersion"') do echo %%b >c:\ver.log
find /i "Service Pack 2" c:\ver.log >nul || echo =========================================================== 你的系统不是WINDOWS XP SP2版本,不能升级,按任意键退出 =========================================================== && pause && exit
IF NOT EXIST U: Net use U: \\155.72.24.254\Updates "82416561" /user:guest
::上面一句中155.72.24.254是存放补丁机器地址,updates是存放补丁目录,82416561是密码(存放补丁机器),guest是存放补丁机器用户名
cls
U:
IF EXIST C:\list.log del c:\list.log /q
IF EXIST C:\reg.log del c:\reg.log /q
::如果c盘有文件list.log和reg.log文件,则将其强行删除
for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates" /s ^| findstr /i "kb......$ q......$"') do echo %%~nxa >>c:\reg.log
::查询注册表,将已安装补丁保存为reg.log,供后面比对用。
echo --------------------------------------------------
echo 系统正在检测你已经安装的补丁,请稍候
echo ........
echo --------------------------------------------------
for /f "tokens=1,2* delims=- " %%i in ('dir /b /on *-*.exe') do (findstr /i "%%j" c:\reg.log >nul || echo %%i-%%j-%%k>>c:\list.log)
::提取补丁文件夹中补丁文件名(只提取中间补丁编号,如KB925938)并与从注册表查询已安装补丁的reg.txt文件作循环比较,将系统没有安装的补丁名存放到c:\list.log文件里
IF EXIST C:\list.log for /f "eol=o eol=O " %%j in (c:\list.log) do echo 正在安装补丁%%j && %%j /quiet /norestart
::从list.log文件中取出一个补丁的名字,利用参数(/quiet /norestart)进行安装无人安装
IF EXIST C:\list.log echo 你本次成功安装了以下补丁,详见C盘list.log文件 ..... & type c:\list.log
::显示安装了的补丁的列表,可以加 more参数,防止补丁过多,分屏显示
IF NOT EXIST C:\list.log echo 你的系统已经安装了所有补丁,请一周后再升级补丁 .....
::如果系统已经安装了所有补丁,就不会产生list.log文件,C盘当然也找不到list.log文件,就提示过段时间再升级
::echo off
qchain.exe
IF EXIST U: Net use U: /del /y >nul
echo --------------------------------------------------
echo 为了你电脑的安全,请不定期双击本文件升级补丁
echo 我一般会一周左右更新一次补丁,请按任意键退出
echo ....
echo ==================================================
pause
::暂停让别人看列表
[
Last edited by tyj666 on 2007-12-21 at 11:49 PM ]
作者: awolf99
时间: 2007-12-22 14:27
不知道好不好用 先顶了!
作者: 131435
时间: 2007-12-22 14:54
是不是每一次都要从第一个开始安装呢,这样可很麻烦啊。因为xp2现在过100个补丁呢。
作者: tyj666
时间: 2007-12-22 17:54
能自动检测跳过已经安装的补丁
作者: chenall
时间: 2007-12-24 00:03
我们局域网其它电脑不能上网,嘿嘿,懒得打补丁了.
可以上网的电脑又会自动下载安装补丁,所以..
先收下备用.
作者: bd123456789
时间: 2008-11-22 18:03
Qchain.exe
这个打补丁的程序,谁有呀?
能传个吗?