[原创]域内批量分发注册表设置

来源:百度文库 编辑:神马文学网 时间:2024/04/28 03:50:11

域内批量分发注册表设置

 

来源:网络采集 | 作者:hj0120 | 发布时间:2009-04-30 | 访问数:

适合读者:网管

前置知识:域服务器基本操作

域内批量分发注册表设置

/ 小朱

我想很多网管朋友都遇到过这样一种情况,就是需要在域内所有的机器上更改某项注册表设置,但如果一台一台地去修改,那实在是一件效率不高又累人的事情,我就曾遇到过这种情况,直到我自定义安全模板之后。因为通过自定义安全模板,我就可以在整个域范围内使用组策略分发注册表设置,再也不必到桌面进行操作了。

安全模板是组策略的一个组成部分,这里的安全模板表现于组策略窗口下的“计算机配置/Windows设置/安全设置/本地策略/安全选项”,虽然说是安全相关的选项,实际上它可以容纳各种注册表设置,而并非一定要是安全相关的设置,我这里的实际情况就不是安全相关的设置。

安全模板主要由Sceregvl.inf文件控制,它位于%windir%\inf目录下,图1是这个文件的一部分:

1

这个文件初看起来很复杂,实际上很简单,它由[version][Register Registry Values][Strings]三个小节组成,很像INI文件的结构。其中[version]指明此文件的版本,而[RegisterRegistry Values]是我们主要关注的部分,它是注册表键路径及相关设置,而[Strings][Register Registry Values]小节中变量的赋值区,下面我们来看看[Register Registry Values]中每个条目的组成,包括四个字段(如图2所示):

2

1,  注册表的路径,形如MACHINE\System\CurrentControlSet\Control\Lsa\AuditBaseObjects,对应于HKLM\System\CurrentControlSet\Control\Lsa\AuditBaseObjects

2,  注册表值的类型,有五种类型,

1——REG_SZ,字符串值

2——REG_EXPAND_SZ---扩展字符串值 

3——REG_BINARY

4——REG_DWORD

7——REG_MULTI_SZ

3,在安全模板中的显示名称,可以使用变量,如果使用变量,请用%%包含起来,并在[Strings]小节中赋值;

4,  显示值的类型:

0 -Boolean

1 -Number

2 -String

3-Choices

4 -Multivalued

5-Bitmask

如果这里是Choices或者Bitmask,那么这些可选值应该被列出来,格式为“值|显示的字符串”,这些可选值之间用逗号分隔,例如:0|%RA0%,1|%RA1%,2|%RA2%

好了,我们知道了安全模板文件的组成,这下我们就可以自定义了,下面就以我的实际例子来讲解。

我们公司有个管理软件客户端,在Windows 2000/xp中需要修改注册表值和配置环境变量才能使用,开始时我自制了两个注册表文件,安装时手工导入即可,后来发现这样还是不方便,于是就想到了利用组策略,因为组策略很多设置都是修改注册表,所以注册表相关的就可以考虑组策略,当然后来就想到了自定义安全模板,实际上我这里的注册表设置与安全是无关的,但仍然可以在安全模板进行定义。下面将说说从自定义安全模板到在域相关OU中分发策略的大致步骤。步骤一:根据要求修改Sceregvl.inf文件

我在域控制器的Sceregvl.inf文件中[Register Registry Values]小节尾部加上了下面的部分:

; 自定义设置部分
;
修改环境变量

MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\sybase,1,"C配置sybase",2

MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\DSQUERY,1,"C配置DSQUERY",2

MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\include,2,"C配置INCLUDE",2

MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\lib,2,"C配置LIB",2

MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\path,2,"C配置PATH",2

; 创建与win98兼容的IP相关配置

MACHINE\SYSTEM\currentCONTROLSET\SERVICES\CLASS\NETTRANS\0000\ipaddress,1,"c配置IP地址",2

MACHINE\SYSTEM\currentCONTROLSET\SERVICES\CLASS\NETTRANS\0000\ipmask,1,"c配置子网掩码",2

 

其中每个条目第3部分的C字头是为了便于在安全模板中进行识别,这样一眼就可以看出是自定义设置。

步骤2:完成了对Sceregvl.inf的修改,还需要在计算机中登记这些新的入口(也就是新添的自定义设置),在修改此文件的计算机上运行下面的命令(通常都是在DC上):

Regsvr32 %windir%\system32\scecli.dll

注意每次修改完Sceregvl.inf文件后都需要这样注册,注册完之后,在这台计算机上打开任何一个组策略编辑窗口,你就将会看到上面的自定义条目(如图3所示):

3

步骤3:在相应域或OU的组策略窗口中给上面的自定义条目赋值,双击条目,在弹出窗口中赋值或选择即可,如图4所示。

4

注意对于REG_EXPAND_SZ类型的赋值,请用双引号(””)把他们引起来,比如我这里为PATH环境变量赋值就必须把它引起来,不然它只会应用第一个分号前的值。编辑完之后,你可以在一台客户机上使用Gpupdate /target:computerXP支持)命令来刷新组策略,然后到注册表中检查是否已成功应用了修改,如果成功了,那祝贺你,如果有不如意的地方,那就再仔细检查一下上面几个步骤