论文部分内容阅读
摘要:通过对Windows操作系统注册表的设置可以动态禁用和启用USB存储设备。利用WMI技术编程可远程成批快速修改机房计算机操作系统的注册表并使修改无需重启即生效。本文详细介绍了基于WMI技术的公共机房计算机USB存储设备的动态禁用和启用程序的具体实现。
关键词:公共计算机实验室;USB储存设备;注册表;Windows管理规范
中图分类号:TP309.1文献标识码:A文章编号:1009-3044(2008)33-1440-02
Disabling or Enabling USB Storage Devices Dynamically in a Common Computer Lab
JIANG Liang-hua, CHEN Chao-quan
(Modern Educational Technology Center, Guilin University of Technology, Guilin 541004, China)
Abstract: USB Storage Devices can be disabled or enabled dynamically through modifying the registry of Windows system. The registry of Windows system can be modified remotely through WMI technology in a common computer laboratory. The change of registry can be activated also without rebooting through WMI technology. The Implementation of disabling/enabling USB storage devices dynamically program is discussed detailedly in this paper.
Key words: Common computer laboratory; USB Storage; Registry; Windows Management Instrumentation
1 引言
USB存储设备具有使用方便,速度快,连接灵活,即插即用,存储可靠等优点,随着价格的下降,如今的USB存储设备(如U盘、MP3、移动硬盘等)已非常流行。在高校中,几乎每个学生都有USB存储设备。学校的公共计算机房往往是学生最主要的上机场所,公共计算机房一般承各种计算机相关课程的上机实验、学生课外自由上机及各式各样的上机考试。为了方便学生存储各自的数据,公共机房计算机的USB接口一般是启用的,但在一些特殊情况需要禁用USB存储设备一段时间,如在进行各类上机操作考试时,为了防止学生通过USB存储设备作弊,需要禁用USB存储设备,上机考试结束后又要启用USB存储设备。有很多方法可以禁用和启用计算机的USB存储设备,如在CMOS设置里将USB设备禁用/启用及在系统注册表中将USB设备禁用/启用等。由于公共计算机房的计算机数量很大,使用逐台机手工设置的方法工作效率极低。笔者利用WMI技术用Visual Basic 6设计了一个程序,利用该程序能远程成批快速修改机房计算机操作系统的注册表并使修改无需重启即生效,从而快速完成公共机房大量计算机USB存储设备的动态禁用和启用。
2 WMI技术简介
Windows Management Instrumentation (WMI)是Microsoft 基于 Web 的企业管理(WBEM) 的实现,同时也是一种基于标准的系统管理接口[1-2]。WMI 符合 WBEM 标准,并为“公用信息模型”(CIM)(它是描述存在于管理环境中的对象的数据模型)提供完整的支持。WMI 包括符合 CIM 标准的对象储备库和“CIM 对象管理器”,其中对象储备库是对象定义的数据库,“对象管理器”负责处理储备库中对象的收集和操作并从 WMI 提供程序收集信息。WMI 提供程序在操作系统组件和应用程序之间充当中间人。例如,注册表提供程序从注册表中提供信息,而 SNMP 提供程序则从 SNMP 设备中提供数据和事件。从Windows 2000开始,WMI 内置于操作系统中,成为Windows 系统管理的重要组成部分。WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。WMI是一种轻松获取系统信息的强大工具,有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API。WMI有许多用途,其中之一就是通过编程实现管理自动化。关于WMI的详细介绍可以参考Windows 管理规范本白皮书,该白皮书书提供了WMI及其体系结构的简要概述,包括WMI提供程序接口和WMI提供程序编程各个方面的详细信息。
3 利用注册表禁用和启用USB存储设备
通过手工编辑系统注册表可禁用和启用USB存储设置[3],具体的操作步骤为:
1) 单击“开始”,然后单击“运行”;
2) 在“打开”框中,键入“regedit”,然后单击“确定”;
3) 找到并单击下面的注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor;
4) 在右边窗格中,双击“Start”;
5) 在“数值数据”框中,将原始数值“3”改成“4”。(如果想恢复对USB设备的支持,只需将该值改回“3”即可)
要让修改后的注册表生效通常有三种方法:1) 重启;2) 重新登录;3) 重启explorer进程。
对于为了禁用和启用USB存储设备而对注册表作的修改,三种方法均可使修改生效。笔者为了使在程序中对注册表的修改立即生效,采用WMI技术远程重启explorer进程方法。
4 系统设计与实现
目前一般公共计算机房的软件环境为:教师用机和学生用机的操作系统均为Windows XP Professional,所有学生用机的管理员账号设置相同的密码。WMI 内置于Windows XP Professional,且默认已启动该服务。禁用/启用USB存储设备程序使用Visual Basic 6中文版开发。在Visual Basic IDE中首先要设置对Microsoft WMI脚本库wbemdisp.tlb的引用,具体操作为:点击菜单的“工程|引用”项,在“引用”列表中选中“Microsoft WMI Scripting 1.2 Library”,将WMI对象库加入工程中。机房每台机的IP地址和计算机名称信息存放在一个文本文件中,供程序执行时读取。
使用 WMI设置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
下设置名称为Start的值为4(禁用USB存储设置)或3(启用USB存储设备),实现的脚本代码为:
Const HKEY_LOCAL_MACHINE =
关键词:公共计算机实验室;USB储存设备;注册表;Windows管理规范
中图分类号:TP309.1文献标识码:A文章编号:1009-3044(2008)33-1440-02
Disabling or Enabling USB Storage Devices Dynamically in a Common Computer Lab
JIANG Liang-hua, CHEN Chao-quan
(Modern Educational Technology Center, Guilin University of Technology, Guilin 541004, China)
Abstract: USB Storage Devices can be disabled or enabled dynamically through modifying the registry of Windows system. The registry of Windows system can be modified remotely through WMI technology in a common computer laboratory. The change of registry can be activated also without rebooting through WMI technology. The Implementation of disabling/enabling USB storage devices dynamically program is discussed detailedly in this paper.
Key words: Common computer laboratory; USB Storage; Registry; Windows Management Instrumentation
1 引言
USB存储设备具有使用方便,速度快,连接灵活,即插即用,存储可靠等优点,随着价格的下降,如今的USB存储设备(如U盘、MP3、移动硬盘等)已非常流行。在高校中,几乎每个学生都有USB存储设备。学校的公共计算机房往往是学生最主要的上机场所,公共计算机房一般承各种计算机相关课程的上机实验、学生课外自由上机及各式各样的上机考试。为了方便学生存储各自的数据,公共机房计算机的USB接口一般是启用的,但在一些特殊情况需要禁用USB存储设备一段时间,如在进行各类上机操作考试时,为了防止学生通过USB存储设备作弊,需要禁用USB存储设备,上机考试结束后又要启用USB存储设备。有很多方法可以禁用和启用计算机的USB存储设备,如在CMOS设置里将USB设备禁用/启用及在系统注册表中将USB设备禁用/启用等。由于公共计算机房的计算机数量很大,使用逐台机手工设置的方法工作效率极低。笔者利用WMI技术用Visual Basic 6设计了一个程序,利用该程序能远程成批快速修改机房计算机操作系统的注册表并使修改无需重启即生效,从而快速完成公共机房大量计算机USB存储设备的动态禁用和启用。
2 WMI技术简介
Windows Management Instrumentation (WMI)是Microsoft 基于 Web 的企业管理(WBEM) 的实现,同时也是一种基于标准的系统管理接口[1-2]。WMI 符合 WBEM 标准,并为“公用信息模型”(CIM)(它是描述存在于管理环境中的对象的数据模型)提供完整的支持。WMI 包括符合 CIM 标准的对象储备库和“CIM 对象管理器”,其中对象储备库是对象定义的数据库,“对象管理器”负责处理储备库中对象的收集和操作并从 WMI 提供程序收集信息。WMI 提供程序在操作系统组件和应用程序之间充当中间人。例如,注册表提供程序从注册表中提供信息,而 SNMP 提供程序则从 SNMP 设备中提供数据和事件。从Windows 2000开始,WMI 内置于操作系统中,成为Windows 系统管理的重要组成部分。WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。WMI是一种轻松获取系统信息的强大工具,有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API。WMI有许多用途,其中之一就是通过编程实现管理自动化。关于WMI的详细介绍可以参考Windows 管理规范本白皮书,该白皮书书提供了WMI及其体系结构的简要概述,包括WMI提供程序接口和WMI提供程序编程各个方面的详细信息。
3 利用注册表禁用和启用USB存储设备
通过手工编辑系统注册表可禁用和启用USB存储设置[3],具体的操作步骤为:
1) 单击“开始”,然后单击“运行”;
2) 在“打开”框中,键入“regedit”,然后单击“确定”;
3) 找到并单击下面的注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor;
4) 在右边窗格中,双击“Start”;
5) 在“数值数据”框中,将原始数值“3”改成“4”。(如果想恢复对USB设备的支持,只需将该值改回“3”即可)
要让修改后的注册表生效通常有三种方法:1) 重启;2) 重新登录;3) 重启explorer进程。
对于为了禁用和启用USB存储设备而对注册表作的修改,三种方法均可使修改生效。笔者为了使在程序中对注册表的修改立即生效,采用WMI技术远程重启explorer进程方法。
4 系统设计与实现
目前一般公共计算机房的软件环境为:教师用机和学生用机的操作系统均为Windows XP Professional,所有学生用机的管理员账号设置相同的密码。WMI 内置于Windows XP Professional,且默认已启动该服务。禁用/启用USB存储设备程序使用Visual Basic 6中文版开发。在Visual Basic IDE中首先要设置对Microsoft WMI脚本库wbemdisp.tlb的引用,具体操作为:点击菜单的“工程|引用”项,在“引用”列表中选中“Microsoft WMI Scripting 1.2 Library”,将WMI对象库加入工程中。机房每台机的IP地址和计算机名称信息存放在一个文本文件中,供程序执行时读取。
使用 WMI设置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
下设置名称为Start的值为4(禁用USB存储设置)或3(启用USB存储设备),实现的脚本代码为:
Const HKEY_LOCAL_MACHINE =