米葫芦网

让系统通过域用户自动打补丁

热度:10℃ 发布时间:2023-11-16 20:04:10
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所示。



图1 补丁文件列表

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



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

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

脚本内容如下:

@echo off

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

IF not EXIST C:Winnt GOTO END

net use Z: Server_nameHotfix

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的才可以,上面的脚本大家可以直接更改,不过一定要先做实验。
网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载