让系统及时的通过域用户脚本自动的打补丁

所属分类: 软件教程 / 网络通讯 阅读数: 2042
收藏 0 赞 0 分享

Windows操作系统的安全问题越来越受到人们的关注,每隔一段时间,微软就会发布修复系统漏洞的补丁。但是,由于很多用户不能及时使用这些补丁加固系统,因此往往造成重大损失,所以及时打补丁非常重要。然而,现在局域网的规模越来越大,对网络管理员来说,手工为每台客户机安装补丁的工作量实在太大,很难及时完成。


选择解决方式
网络管理员除了手工为每台客户机安装补丁外,还可以采用以下几种方式来解决这个复杂问题:


1. 在企业的局域网中架设微软提供的免费软件升级服务器(Software Update Services,SUS),安排客户机定期自动执行升级,但是遇到紧急情况会出现某些电脑被漏掉的情况。


2. 使用微软Systems Management Services中补丁分发功能,SMS非常强大,不过它可不是免费的。


3. 采用第三方的管理软件如:IBM的Tivoli与LANDesk的Management Suite等。


简单、方便、快捷、免费是我们管理员追求的最高境界了,我提供的通过域用户脚本自动打补丁的方法大概就能符合上面的要求了。


脚本登录需知
不过在使用登录脚本之前我们需要了解下面两个问题:


1. 如何避免每安装完一个补丁就重启


Hotfix文件具有多个可选参数。重要的有-z表示安装后不重新启动计算机,-m表示安装过程中不出现提示信息,-q表示安装过程中不出现提示信息。我们下面的脚本可以使用到-m和-q两个。

如何将多个补丁文件串联起来?我们就要用到微软提供的Qchain.exe程序。Qchain.exe的使用非常简单,语法是Qchain [logfilename] ,Logfilename表示日志文件名,它记载了多个补丁安装前后的注册表中未决文件重命名队列键值的对比。实际上,Qchain.exe的功能就是检查注册表的未决文件重命名队列键值,对多个Hotfixes的安装文件进行合适的链接和取舍操作,最终保证被修改文件是最新版本。(详情与下载参http://support.microsoft.com/kb/815062)


2. 如何判断用户已经安装了哪些补丁


微软提供的补丁都有一个“KB”号,这是为了方便用户查询详情的代码,比如KB823980(“冲击波”的漏洞),就可以通http://support.microsoft.com/?id=823980查到详细说明。我们也知道当安装完毕一个补丁的时候会在系统目录(%SystemRoot%)中存放同样名称的Log文件。从以上两方面我们就可以利用系统目录中是否有KB823980.log文件判断补丁安装与否。


创建脚本
好了,万事俱备,只欠东风!我们赶紧做个脚本吧。


1. 在Server上建立Hotfix目录将要安装的补丁和Qchain.exe放到此目录下。同时我觉得按照微软的“KB”号将补丁的改名排列好,如图1所示。


2. 设置Hotfix文件夹的访问权限,设置Administrators为完全控制,Authenticated users为读取权限,如图2所示。

图2设置Hotfix文件夹的访问权限

3. 在C:\Winnt\Sysvol\Sysvol\Domain_name\Scripts下建立Hotfix.bat脚本。请将本文中Domain_name更改为各位网管员自己管理的服务器名称。


脚本内容如下:


@echo off


echo 正在检测Windows2000 Update Server,请稍后......


IF not EXIST C:\Winnt\ GOTO END


net use Z: \\Server_name\Hotfix


Z:

IF EXIST %SystemRoot%\KB823980.log ECHO 恭喜您!已经安装了KB823980号补丁,进行下一项检查......


IF not EXIST %SystemRoot%\KB823980.log echo很遗憾!没有安装KB823980号补丁,现在正在安装,请稍候......


IF not EXIST %SystemRoot%\KB823980.log KB823980.exe -z -q


IF EXIST %SystemRoot%\KB823182.log ECHO恭喜您!已经安装了KB823182号补丁,
……


(参照上面的步骤,后面的补丁内容请手动添加)


echo 您已经安装了全部的补丁,谢谢使用......


Qchain.exe


C:


net use Z: /Delete /Y


:END


注:我们通过net use命令将共享的文件夹映射到本地。

4. 针对用户在活动目录里面设置用户登录脚本Hotfix.bat,如图3所示。

图3 在活动目录里面设置用户登录脚本


配置完成以后我们就需要等到用户登录就可以了。如果Windows XP 用户,只需要把IF not EXIST C:\Winnt\ GOTO END中的“Winnt”改为“Windows”就可以,注意补丁一定要是针对Windows XP的才可以,上面的脚本大家可以直接更改,不过一定要先做实验。

更多精彩内容其他人还在看

两台电脑共享LAN快车上网的解决方案

问:单位的电脑使用中国电信的LAN方式上网,操作系统是Windows XP SP2,上网时需要进行虚拟拨号,是没有Modem的那种连接。我的一个同事最近又加了一台电脑,请问,用什么简单的方法连接这两台电脑共同用这个LAN上网?   
收藏 0 赞 0 分享

必学:电脑与网络维护常用技巧

如果你做电脑和网络维护方面的工作,来看看,你会发现这里面的小技巧很多是值得收藏并好好加以利用和学习的    第一条:Windows 2000 连接共享    interner connect share ICS
收藏 0 赞 0 分享

ADSL路由方式的NAT(端口映射)

NAT是网络地址翻译就是把公网IP翻译成私有地址, 又叫端口映射或端口转发. 采用路由方式是指ADSL拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。这时ADSL的外部地址只有一个,比如61.177.*.*
收藏 0 赞 0 分享

防火墙配置不当导致网络无法共享

最近某小型局域网内的工作站无法通过服务器连接Internet,服务器可以访问Internet,管理员在进行自查无果后向笔者求救,笔者赶到后,首先了解了一下情况,此局域网所有机器操作系统均为Windows XP,通过服务器的Internet连接共
收藏 0 赞 0 分享

net命令使局域网文件同步更新

现在大家都希望有个同步软件可以达到网络目录或者文件的更新来减少自己的工作量,现在网络上也有很多软件可以达到这个目的,象同步专家之类的,但是这些软件需要安装服务端和客户端,客户端要常驻才能使用,并且占用了一定的资源。 
收藏 0 赞 0 分享

在网吧中如何使用双ADSL线路

现在网吧中使用ADSL作为上网线路的越来越多,一是因为ADSL比较便宜,另外是因为ADSL安装方便。但是ADSL的带宽有限,而网吧能否提供给用户高速稳定的上网线路,是能够留住顾客的关键。按照经验,如果是一条512K的ADSL线路,有10人同时
收藏 0 赞 0 分享

关于网络拥挤问题及对应处理办法

网络拥挤现象的基本症状是网络的某一部分或整个网络性能低劣。在高峰期,可能这只是暂现象。在其他情况下,这种现象可能逐渐漫延持续几周或几个月的时间,直到最后使网络性能降低到无法容忍的水平。   引起网络拥挤现象的原因有多
收藏 0 赞 0 分享

Internet连接共享组网实例技巧

ICS(Internet连接共享)是Windows 2000内置的一种网络连接共享服务,它可以使家庭网络或小型办公室网络用户非常容易的连接到Internet。    要使用ICS,有几点需要注意:    (1)启用ICS的计算机必须具有两个网络
收藏 0 赞 0 分享

加快Windows 2000访问网上邻居的速度

在部分机器的Windows 2000中打开“邻近的计算机”,常常会等上几十秒的时间,让人无法忍受。仔细分析会发现,在找到的计算机当中,包括“打印机”和“任务计划”两项。通过“网上邻居”浏览计算机时,Windows 2000会先搜索
收藏 0 赞 0 分享

浅谈Win 98中一块网卡实现两个网段的通信

目前,鉴于我国中小学信息技术教材内容的设置,绝大部分中小学校计算机安装的依然是Windows 98。笔者所在学校也一样,且教师办公用机和学生机的IP地址分属两个网段(办公用机在10.10.8.?网段,学生机在192.168.0.?网段)。办公
收藏 0 赞 0 分享
查看更多