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

所属分类: 软件教程 / 网络通讯 阅读数: 2019
收藏 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的才可以,上面的脚本大家可以直接更改,不过一定要先做实验。

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

局域网合理布线的六大规则

  网络拓扑结构凌乱、布线过程中偷工减料、设备摆放不合理,别小看这些网络布线时的疏忽大意、有章不循,它们就是一颗颗定时炸弹,随时都会发作,随时都会毁掉你的网络、你的工作。 亡羊补牢?为时已晚,这些问题需要我们提前避免。   如同大厦
收藏 0 赞 0 分享

技巧:对无线局域网进行高效故障诊断

  基于IEEE 802.11标准的WLAN逐渐进入主流网络,使得针对无线网络的故障诊断和安全保障变得与有线网络一样重要。     支持多种模式的分析仪可以扫描所有802.11频段,包括2   .4GHz和5GHz频段中的所有通道,并以图形化的形式显示,从这些图表中
收藏 0 赞 0 分享

巧用WinXP中的“网桥”功能

  当前局域网已经相当普及,经常会遇到以下的状况:    局域网中新增了一台客户机,但集线器端口已接满,为一台电脑增加集线器太不合算。怎么办?Windows XP的“网桥”功能就派上用场了,不过需要一个前提条件,就是局域网中必须有一台安装了双
收藏 0 赞 0 分享

设置防火墙实现禁用QQ,MSN,联众

  现在要求禁止内网用户使用QQ、联众等聊天和网游软件的需求逐渐增多,不久前售后工程师就处理了一项此类业务。工程师在处理过程中发现了一些解决方法,现在进行一下总结,希
收藏 0 赞 0 分享

XP中网络怪异事件解决方法

  未接网线却显示已启用连接   问:Windows XP系统正确识别了新安装的网卡,并安装了驱动程序,在没有连接网线的情况下,网络连接中的“本地连接”显示已启用,并且处于“连接状态”。在接上网线并设置了相应的参数后,进行网络访问,IE显示“无
收藏 0 赞 0 分享

为您支招 局域网内如何防止ARP欺骗

  对于ARP欺骗,提出几点加强安全防范的措施。环境是主机或者网关是基于Linux/BSD的。一、理论前提   本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理
收藏 0 赞 0 分享

网管,请别随意关闭默认共享!

  不知道在什么时候,关闭Windows系统中的C$、D$、IPC$等默认共享成为了最基本的安全防范措施,惊弓之鸟们纷纷响应号召,向默认共享宣战。然而存在是有理由的,默认共享的存在同样如此。你可知道盲目地关闭这些默认共享会带来某些非常严重的危害吗
收藏 0 赞 0 分享

网络应用技巧 用注册表强化网上邻居

  每次与内网用户进行信息共享传输时,“网上邻居”就会被派上用场;当然,在默认状态下系统的“网上邻居”功能十分有限,如果你想与内网朋友更高效、更安全地进行共享传输时,就必须想方设法挖掘“网上邻居”自身的潜能。这不,本文为了帮助各位网
收藏 0 赞 0 分享

教你在局域网中映射网络驱动器的使用

  一、为每个学生机建立“映射网络驱动器”   环境为Windows 98对等网。教师机名为“Teacher”,硬盘分成四个区为C、D、E、F;学生机有60台,计算机名为1~60,硬盘分成三个分区C、D、E。   首先在教师机的F盘上建立60个文件夹,文件夹的名字
收藏 0 赞 0 分享

节约成本 详解网络打印机安装方法

  现在很多单位为了节约成本,普遍采取共享使用网络打印机的方法,正巧笔者的单位也要求办公室和其他科室共用办公室的打印机,下面我们一起来看看如何添加网络打印机。   首先,在办公室的计算机上,安装好打印机的驱动,并且把打印机设为共享,
收藏 0 赞 0 分享
查看更多