文档及模板可在 http://pan.baidu.com/s/1qYTcjTy 下载
pro_usb_users.adm 此模板可禁用到 指定盘符,针对用户策略
pro_usb_computers.adm 此模板 针对计算机,一般只要它就好了。
可以从 3 个方面下手
- adm 配置 文件。
- 注册表
- usb驱动
其实 adm配置文件,看起来是修改了本地组策略,其实最后还是通过修改注册表实现的。
我们只保留可以查看ABCDE 盘。其他的盘符,不可查看,不可读写。
服务端 Server 2003 \
客户端 XP 的版本为 sp3, E盘为光驱,F盘为U盘
第一种方法 (不推荐这种,虽 可图像化访问,但可以用DOS访问)
要用到两个键
NoDrives 禁止显示(不显示在我的电脑里、如果NoViewOnDrive设置为访问时,可以通过直接访问完全路径进行访问)
NoViewOnDrive 禁止访问(其实可以通过命令行访问的),
值为0 时,为启用功能, 为1时是不启用。
可以在 excel 中弄好自己想要隐藏的,复制到计算器内,转成16进制就好了
结果为 3FFFFE0
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrives"=dword:03ffffe0
"NoViewOnDrive"=dword:03ffffe0
这样,除了ABCDE 其他磁盘,为不显示,不可读写(但命令行可以访问)
第二 种呢、就是 修改 usbhub(旧系统) USBSTOR 现在的系统
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbhub]
"Start"=dword:00000004
https://support.microsoft.com/zh-cn/kb/823732 官方文档
此处需要注意一下
修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
的Start为4时,每次接入新设备时,还会变为3,只有策略再次刷新过后,下次接入该USB才不可被识别.
当然清理过USB 痕迹,就也再次被识别, 例如使用 usbviewer 工具
知道 注册表修改了 什么,我们就开始写 adm 文件
https://support.microsoft.com/en-us/kb/555324 可以下载模板文件,但注意开头为CLASS MACHINE 也就是说,它是计算机配置的模板,针对计算机的配置,需要重启PC的。
第一种禁用到盘符的,是针对用户的,注销用户就可,adm文件编码请使用UCS-2,否则会乱码
之前 修改注册表的 16进制、在adm文件要转为10进制。
在 域控上 建立一个 GPO 用户模板引用 此规则 ,保存为 xx.adm 即可
----------------复制以下----------------------------
CLASS USER
CATEGORY !!category
CATEGORY !!categoryname
KEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
POLICY !!policyNoDrives
EXPLAIN !!explaindrives
PART !!labeltextusb DROPDOWNLIST REQUIRED
VALUENAME "NoDrives"
ITEMLIST
NAME !!ABOnly VALUE NUMERIC 3
NAME !!COnly VALUE NUMERIC 4
NAME !!DOnly VALUE NUMERIC 8
NAME !!ABConly VALUE NUMERIC 7
NAME !!ABCDOnly VALUE NUMERIC 15
NAME !!ALLDrives VALUE NUMERIC 67108863 DEFAULT
;此处隐藏除ABCDE外所有的盘符
NAME !!ExceptABCDE VALUE NUMERIC 67108832
END ITEMLIST
END PART
END POLICY
POLICY !!policyNoViewOnDrives
EXPLAIN !!NoViewOnDrive_Help
PART !!NoDrivesDropdown DROPDOWNLIST NOSORT REQUIRED
VALUENAME "NoViewOnDrive"
ITEMLIST
NAME !!ABOnly VALUE NUMERIC 3
NAME !!COnly VALUE NUMERIC 4
NAME !!DOnly VALUE NUMERIC 8
NAME !!ABConly VALUE NUMERIC 7
NAME !!ABCDOnly VALUE NUMERIC 15
NAME !!ALLDrives VALUE NUMERIC 67108863 DEFAULT
; low 26 bits on (1 bit per drive)
;此处禁用除ABCDE外所有的盘符
NAME !!ExceptABCDE VALUE NUMERIC 67108832
END ITEMLIST
END PART
END POLICY
END CATEGORY
END CATEGORY
[strings]
ABOnly="仅限制驱动器 A 和 B"
ABCDOnly="仅限制驱动器 A、B、C 和 D"
COnly="仅限制驱动器 C"
DOnly="仅限制驱动器 D"
ABConly="仅限制驱动器 A、B 和 C"
ALLDrives="限制所有驱动器"
ExceptABCDE="限制除A、B、C、D、E外所有驱动器"
category="禁用盘符"
categoryname="Restrict Drives"
policyNoDrives="在我的电脑中隐藏这些盘符"
explaindrives="请根据自己的情况选择要禁用的盘符"
labeltextusb="选择禁用盘符"
policyNoViewOnDrives="防止从“我的电脑”访问驱动器"
NoViewOnDrive_Help="防止用户使用我的电脑访问所选驱动器的内容。
NoDrivesDropdown="选择下列组合中的一个"
----------------复制以上----------------------------
然后,我们启用禁用 "限制除A、B、C、D、E外所有驱动器" , 客户端gpupdate /force ,然后 rsop.msc 查看获取策略的结果
此 策略 再 配上 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
Start 等于4 的策略,能应付一般的 使用人员了。
---------------复制以下—这是 计算机策略----
CLASS MACHINE
CATEGORY !!category
CATEGORY !!categoryname
POLICY !!policynameusb
KEYNAME "SYSTEM\CurrentControlSet\Services\USBSTOR"
EXPLAIN !!explaintextusb
PART !!labeltextusb DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!Allusb_usbhub
KEYNAME "SYSTEM\ControlSet001\Services\usbhub"
EXPLAIN !!explain_USBSTOR
PART !!labusb_USBSTOR DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!Allusb_USBSTOR
KEYNAME "SYSTEM\ControlSet001\Services\USBSTOR"
EXPLAIN !!explain_USBSTOR
PART !!labusb_USBSTOR DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynamecd
KEYNAME "SYSTEM\CurrentControlSet\Services\Cdrom"
EXPLAIN !!explaintextcd
PART !!labeltextcd DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 1 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynameflpy
KEYNAME "SYSTEM\CurrentControlSet\Services\Flpydisk"
EXPLAIN !!explaintextflpy
PART !!labeltextflpy DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynamels120
KEYNAME "SYSTEM\CurrentControlSet\Services\Sfloppy"
EXPLAIN !!explaintextls120
PART !!labeltextls120 DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
END CATEGORY
END CATEGORY
[strings]
category="Disable_USB"
categoryname="Restrict Drives"
Allusb_USBSTOR="disable USBSTOR"
Allusb_usbhub="disable usbhub"
policynameusb="Disable USB"
policynamecd="Disable CD-ROM"
policynameflpy="Disable Floppy"
policynamels120="Disable High Capacity Floppy"
explaintextusb="Disables the computers USB ports by disabling the usbstor.sys driver"
explain_USBSTOR="Disables usb"
explaintextcd="Disables the computers CD-ROM Drive by disabling the cdrom.sys driver"
explaintextflpy="Disables the computers Floppy Drive by disabling the flpydisk.sys driver"
explaintextls120="Disables the computers High Capacity Floppy Drive by disabling the sfloppy.sys driver"
labeltextusb="Disable USB Ports"
labusb_USBSTOR="Disable USB Ports"
labeltextcd="Disable CD-ROM Drive"
labeltextflpy="Disable Floppy Drive"
labeltextls120="Disable High Capacity Floppy Drive"
Enabled="Enabled"
Disabled="Disabled"
---------------复制以上----------
其实 都是 修改注册表 也可以用 批处理 来完成、个人喜欢写 adm文件,写好后,可动态选择,不死板。
------------用户-------
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDrives /t reg_dword /d 67108832 /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoViewOnDrive /t reg_dword /d 67108832 /f
-----------计算机---------
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t reg_dword /d 4 /f
第二种,就是从驱动下手啦,这要放到 计算机 配置下手。
从文件系统中 ,禁用下面两个文件
(我只留下administrators 与system 这两个组可读取,其他的都没读取权限,但一定要加入Everyone这个组,并拒绝读取 普通域用户为 power user)
%SystemRoot%\inf\usbstor.inf
%SystemRoot%\inf\usbstor.PNF
然后去 客户端 看看结果
不过此 方案下,如果换usb的键盘、鼠标、打印机,也会弹出此窗体,输入有读取 usbstor.inf、usbstor.PNF文件权限的 用户及密码即可。
第二种方案 在win7 的客户端 下不能生效,要注意。
但第一种可以 在win7下生效
当启用 计算机配置后, 就可以在win7上禁用 usb了
--------------------------我是分割线-----------------------------
现在 换成
服务器2008 r2
客户端xp sp3
然后用禁用 usb的 计算机模板,可以禁用 xp上的 usb
我们在2008 r2 设置一个禁用usb 驱动的 gpo (如下图)
然后看XP 的结果集 ,是生效的,如下图
但 当 win7 做为客户端时,就不会有效禁用 usb.
2008 r2 对移动存储 新加入了新功能选项,我们可以用它来禁用USB.
此处应该把 策略 挂在用户OU下,(我挂在计算机OU下,gpresult /v 没查看到获取成功)
XP 可以 接收到域策略,却不能执行,估计是版本太老,没这功能。
可是win7 的效果就很好。
所以、如果想兼容xp 与win7还是写模板文件好点。。
请选择 pro_usb_computers.adm 模板,挂在 计算机策略下,不论服务器是 2003 或是2008 r2 ,客户端是 xp 还是win7 都会生效。