zoukankan      html  css  js  c++  java
  • 禁用USB总集

    在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

    下新建一个WriteProtect并设置其值为dword 1

    完整代码如下:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]

    "WriteProtect"=dword:00000001

    我将其从注册表中导出,见后面的附件,双击导入即可。

    设置为0表示不禁用。接到一个任务,禁止集团内所有电脑的USB接口进行文件拷贝,但不能妨碍打印机、鼠标键盘、扫描仪、加密狗等等一切需要USB接口工作的外部设备。

    纠结了,这不摆明了让我蛋疼吗?

    不过,疼归疼,办法总是要想滴,世界上没有办不到的事,只是你愿不愿意想办法。

    不罗嗦,开工,首先了解任务的详细内容:

    任务目的:

    1、要管制USB存储设备,一般用户不能写不能读;部分用户能读不能写入USB存储设备;还有一部分大人们(公司高管)平时不读不写,在需要用的时候要能读能写!

    2、无论使用什么方式进行管制,不能影响到现在USB打印机、扫描仪、加密狗、鼠标键盘等等外部设备的使用。 真会折磨人。

    任务范围:集团内1900台电脑

    任务时间:3周

    接下来,就得找实施方案了!

    1、方案一:BIOS里全部关闭USB端口

    2、方案二:Client端安装USB管理软件,用软件进行管制,安装一台服务器,监控所有电脑的USB动态

    3、方案三:从操作系统注册表下手,批处理执行管理

    先说说这三个方案:恕本人愚昧,或许还有很多又好又快捷的方法,但偶当时确实只想到这些,

    方案一:最操蛋的方法,端口全关了,什么USB设备都用不了了,就别提这机那机了,PASS掉,

    方案二:所有电脑安装Client,工作量大,时间根本不够,再说了,我很介意在用户端安装软件,多一个进程多占用一部分内存,到时候电脑速度慢了又会有人大呼小叫了。仍然PASS,

    第三个,其实这也是俺最喜欢用的手段:批处理!哈哈,就它了。

    各位观众,看清楚看明白啦,实施过程开始!

    1、首先,关闭USB存储设备的盘符自动分配,打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR,将"Start"的值改为4(禁止自动启动),默认为3是自动分配盘符

    2、干掉USB存储设备的作用文件:进入WINDOWS系统目录,找到X:\Windows\inf,这里说明一下,USB存储设备的作用文件有两个,分别是usbstor.inf和usbstor.pnf,因为后续可能需要重新打开USB功能,所以不要删除它,建议拷贝到其他位置,当然你要暴力一点,删除它也没关系,但记得做好备份。

    我用两条批处理指令实现:

    copy %Windir%\inf\usbstor.inf %Windir%\usbstor.inf /y >nul

    copy %Windir%\inf\usbstor.pnf %Windir%\usbstor.pnf /y >nul

    del %Windir%\inf\usbstor.pnf /q/f >nul

    del %Windir%\inf\usbstor.inf /q/f >nul

    哦不,准确的说是4行指令!

    3、然后,禁止将电脑里的资料拷贝到USB存储设备,意思是把USB存储设备设置只读的,干成残废。

    打开注册表:定位到HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control,在其下新建一个名为“StorageDevicePolicies”的项,选中它,在右边的窗格中新建一个名为“WriteProtect”的DWORD值,并将其数值数据设置为1

    嘿嘿,有了这一条,你就是能用USB存储设备,也只能单方面读取数据了,也算是半个残废了。

    到此,基本上第一个过程基本完成,实现的功能包括:禁止使用USB存储设备,不影响其他USB外设,就算要用,也把USB存储设备干成残废(只读)。

    接下来说第二个部分:如何开启?(部分用户需要使用USB存储设备)实际上,逆向操作以上步骤就可以完成开启,但为了表达的更完整一些,我还是把过程写下来

    1、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR,将"Start"的值改为3

    2、恢复USB存储设备作用文件,还是4行指令:

    copy %Windir%\usbstor.inf %Windir%\inf\usbstor.inf /y >nul

    copy %Windir%\usbstor.pnf %Windir%\inf\usbstor.pnf /y >nul

    del %Windir%\usbstor.pnf /q/f >nul

    del %Windir%\usbstor.inf /q/f >nul

    完成后,用户可使用USB存储设备,但不能往里面写入任何内容!你信?不信就试试嘛,俗话说的好:实践出真知!

    不好意思,扯远了!

    这样,关闭也写了,开启也写了,接下来的事情,你知道的。

    批处理代码,哈哈!

    关闭过程:

    @echo off

    reg add "HKEY_LOCAL_ MACHINESYSTEMCurrentControlSet ControlStorageDevicePolicies“ /v WriteProtect /t reg_dword /d 1 /f

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t reg_dword /d 4 /f

    copy %Windir%\inf\usbstor.inf %Windir%\usbstor.inf /y >nul

    copy %Windir%\inf\usbstor.pnf %Windir%\usbstor.pnf /y >nul

    del %Windir%\inf\usbstor.pnf /q/f >nul

    del %Windir%\inf\usbstor.inf /q/f >nul

    @echo on

    开启过程:

    @echo off reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t reg_dword /d 3 /f

    copy %Windir%\usbstor.inf %Windir%\inf\usbstor.inf /y >nul

    copy %Windir%\usbstor.pnf %Windir%\inf\usbstor.pnf /y >nul

    del %Windir%\usbstor.pnf /q/f >nul

    del %Windir%\usbstor.inf /q/f >nul

    @echo on

    将以上代码保存为两个BAT文档,然后放进x:\Windows\system32\目录下,比如DisableUSB.bat和EnableUSB.bat

    然后直接在运行里面输入指令:DisableUSB (关闭)EnableUSB(开启)

    打完收工!

     

    ==============================================================================

    有朋友问了,你方案是有了,但如何在网内实施?难道需要在每一台电脑上运行这两个指令吗,恐怕也不太现实吧?!

    具体实施的过程可以使用以下批处理来完成!

    将以下代码保存为Scan.Bat,将DisableUSB.bat放到与批处理同一文件夹执行即可。

    代码解释:扫描局域网中的计算机,扫描范围包括:192.168.1.1~192.168.8.254,扫描数量共计2032个,扫描到存活的主机后将DisableUSB.bat拷贝到对方机器的C$系统共享目录(这个得保证是开启状态),然后执行。

    代码:

     

    @echo off

    echo 操作成功的電腦IP包括:>E:\Success.txt

    for /l %%a in (1,1,8) do (

    for /l %%b in (1,1,254) do (

    ping -n 1 -w 50 192.168.%%a.%%b && net use \\192.168.%%a.%%b "password" /user:administrator && copy DisableUSB.bat \\192.168.%%a.%%b\C$\ Windows\System32\DisableUSB.bat && Start DisableUSB.bat>>E:\Success.txt

    )

    )

    另:经过查询微软的知识库得知,在Windows XP下禁用USB端口有两方案:

    1.如果计算机上尚未安装 USB 存储设备,向用户或组分配对%SystemRoot%\Inf\Usbstor.pnf 和%SystemRoot%\Inf\Usbstor.inf两个文件的“拒绝”权限,这样,用户将无法在计算机上安装 USB 存储设备。

    2.如果计算机上已经安装过 USB 存储设备,(本次就是,要求使用USB键盘和鼠标)请将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor注册表项中的“Start”值设置为 4

    这样,当用户将 USB 存储设备连接到计算机时,该设备将无法运行

    禁止修改注册表

    既然修改注册表可以禁用USB端口,那么为防止用户自行将注册表重新改回,可以考虑通过组策略来限制用户使用注册表编辑器。点击“开始→运行”,输入gpedit.msc 并确定,即可运行程序。在组策略控制台中,选择“本地计算机”策略→用户配置→系统,启用“禁用注册表编辑工具”项,该策略是禁止用户使用 Windows 注册表编辑器 Regedt32.exe 及 Regedit.exe,管理员用户也不例外。

    启用该策略后,运行regedit命令时,将出现“注册表被禁用”的提示

    但是禁用注册表并不能高枕无忧,因为用注册表导入的方法仍然可以直接修改注册表。

    新建一个名为usb.reg的文本文件,输入以下内容:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\USBSTOR]

    "Start"=dword:00000003

    双击该文件,将信息添加至注册表中,即可恢复使用USB设备。

    要想连这种方法都禁掉,只有通过用户权限来实现了。将GUS隶属于USER组,User用户是没有权利修改注册表的,这样,以GUS用户登录后,即便有以上的usb.reg文件,添加至注册表时也将被拒绝。但是这个还是解决不了操作工利用USB来给手机及相关设备充电,而且也不知道是否能防得住病毒。只有要求工艺和仪表车间进行加强管理

    转载于:http://dnswan.blog.51cto.com/1929050/971921

  • 相关阅读:
    ElementUi
    Vue插件
    Vue-cli
    Vue进阶
    Vue组件
    Vue生命期钩子
    Vue基础
    Vue介绍
    logging模块
    time模块
  • 原文地址:https://www.cnblogs.com/potu/p/2662011.html
Copyright © 2011-2022 走看看