中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]局域网用自动检测安装安全补丁脚本
作者:
标题: [原创]局域网用自动检测安装安全补丁脚本 上一主题 | 下一主题
tyj666
新手上路





积分 6
发帖 2
注册 2007-11-10
状态 离线
『楼 主』:  [原创]局域网用自动检测安装安全补丁脚本

局域网所有客户端只要不定期执行本脚本即可升级补丁,只使用于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 ]

2007-12-21 23:41
查看资料  发送邮件  发短消息 网志   编辑帖子
awolf99
初级用户





积分 62
发帖 29
注册 2007-12-21
状态 离线
『第 2 楼』:  

不知道好不好用 先顶了!

2007-12-22 14:27
查看资料  发送邮件  发短消息 网志   编辑帖子
131435
新手上路





积分 4
发帖 2
注册 2007-12-22
状态 离线
『第 3 楼』:  

是不是每一次都要从第一个开始安装呢,这样可很麻烦啊。因为xp2现在过100个补丁呢。

2007-12-22 14:54
查看资料  发送邮件  发短消息 网志   编辑帖子
tyj666
新手上路





积分 6
发帖 2
注册 2007-11-10
状态 离线
『第 4 楼』:  

能自动检测跳过已经安装的补丁

2007-12-22 17:54
查看资料  发送邮件  发短消息 网志   编辑帖子
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 5 楼』:  

我们局域网其它电脑不能上网,嘿嘿,懒得打补丁了.
可以上网的电脑又会自动下载安装补丁,所以..

先收下备用.



QQ:366840202
http://chenall.net
2007-12-24 00:03
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子
bd123456789
中级用户





积分 360
发帖 216
注册 2007-5-29
状态 离线
『第 6 楼』:  

Qchain.exe

这个打补丁的程序,谁有呀?

能传个吗?

2008-11-22 18:03
查看资料  发送邮件  发短消息 网志   编辑帖子

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: