台式电脑

怎么样禁止电脑打开优盘(从禁用U盘大法聊开去)

因工作原因需做外设管控方面的内容,今天借这个话题聊一发。外设是各种各样的,仅拿U盘来讲一讲。

首先,最容易想到的是禁用U盘相关驱动程序,我们知道要显示U盘,必须启用Usbstor.sys驱动,修改一下注册表:

从禁用U盘大法聊开去

修改Start值即可

把上图中Start值由3改为4即可(想知道为什么可点击看我的文章闲聊Windows注册表-基础)。不过你一旦知道这种方法是不是还可以改回来,大笑!

怎么样禁止电脑打开优盘(从禁用U盘大法聊开去)

其次,还有Windows策略可以设置:

从禁用U盘大法聊开去

Windows策略禁止U盘

设置完后,记得调用gpupdate/force更新,否则不生效。同样的,如果用户有管理员权限,可以随时改过来。

唉呀呀,如何是好?我们换个想法,Windows对U盘的插入和卸载是有事件通知的,我们可以在那里做点儿事情:

LRESULTCHWDetectDlg::OnMyDeviceChange(WPARAMwParam,LPARAMlParam){if(DBT_DEVICEARRIVAL==wParam||DBT_DEVICEREMOVECOMPLETE==wParam){PDEV_BROADCAST_HDRpHdr=(PDEV_BROADCAST_HDR)lParam;PDEV_BROADCAST_DEVICEINTERFACEpDevInf;PDEV_BROADCAST_HANDLEpDevHnd;PDEV_BROADCAST_VOLUMEpDevVolume;switch(pHdr->dbch_devicetype){caseDBT_DEVTYP_DEVICEINTERFACE:pDevInf=(PDEV_BROADCAST_DEVICEINTERFACE)pHdr;break;caseDBT_DEVTYP_VOLUME:pDevVolume=(PDEV_BROADCAST_VOLUME)pHdr;break;}}return0;}

可以想到,在上面程序检测到事件通知后,可以判断是否U盘并做一个实时的启用禁用,仿佛就象U盘没插入一样。

爱思考的同学可有就想了,你弄一个程序来做,我可以把你程序给停掉哇,只好祭出终极大杀器,搞个Windows驱动程序来做,驱动也有多种做法,这里提一下:

注册系统模块加载回调,停止usbstor.sys的加载Hook设备PNP分发例程,禁止设备启动写一个标准的设备过滤驱动,UpperFilter即可

这里抛砖引玉,感兴趣的同学可以试一试啦!

相关新闻

返回顶部