devcon禁用设备参数devcon /disable 设备ID
在 2003 年第 23 期的 《设备管理器实例点点通》 一文中, 介绍了通过 “设备管理器” 禁用光驱的方法, 这个功能同样能用 devcon 命令来实现, 并且还可以轻松实现禁止指定用户无法使用光驱。
在命令行中输入 “devcon status *cdrom* ”(这里的 *与文件搜索时的使用是一样的, 可以代表任意字符 ), 在屏幕上会列出当前系统中所有光驱设备状态。 从 “ Name ” 行中可以看到光驱名称, 例如 “ ATAPI
CD-R/RW 12X8X32 USB Device ”就是光驱 (刻录机) 名我的光驱!你别用!
将上面显示的 “ USBSTOR \CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9. CC\6&29716FAA&0 ” 就是光驱设备ID。输入“devcondisableUSBSTOR\CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9.CC\6&29716FAA&0 ” 即可禁用该刻录机了, 不过这样输入命令似乎有点太长, 也可以使用 “ *”符号进行简化输入, 例如这里输入 “ devcon disable *cdrom* ”也能实现同样效果。
devcon获取设备IDdevcon status *
devcon /hwids *
*为通配符,比如获取CDROM的设备ID,就可以写为devcon status *cdrom*,这样就可以获取所有cdrom的设备ID了。
还有个更简单的办法来查看设备ID,就是在设备管理器里,找到你要禁用的硬件设备,比如软驱吧。
在软盘驱动器上点右键,属性,详细信息里就可以看到ID了。
这么长的ID,抄起来很麻烦,那怎么办呢,注意设备ID的最前面的FDC。你用devcon status * 命令查看到所有设备的ID后,然后找ID开头为FDC的就可以了。然后复制一下,就省很多事了。
用devcon status * 命令会显示所有设备的ID,可能会把前面的设备ID覆盖掉,你可以用命令
devcon status * >>c:\设备ID.txt
这样所有设备ID列表就会在你的C盘生成一个名为“设备ID”的文本文档了。在
文档最下面会写着发现多少硬件。
devcon /hwids * 获取设备ID更详细些。大家看下图吧。
devcon启用设备参数devcon /enable 设备ID
devcon卸载指定设备参数devcon /remove 设备ID
功能与在设备管理器中使用“卸载” 功能相同, 在第 6期的 《你不再是我的惟一 —— 制作万能克隆文件》 一文中, 就使用过 “ devcon remove * ”命令来快速删除所有的硬件驱动程序。
devcon重启指定设备devcon /restart 设备ID
devcon 还有许多命令, 其应用的关键在于综合运用, 尤其是对于许多喜欢用批处理的朋友来说, devcon 会让你的批处理大放光彩。 限于现炒现卖,这里就不多说了。把主要问题解决了就OK了。附带一个
批处理吧,把禁用摄像头,启用摄像头放到上去。把下面代码保存为bat运行就可以了。
程序代码
@echo off
del /q %windir%\禁用摄像头.bat
del /q %windir%\启用摄像头.bat
del /q %temp%\link1.vbs
del /q %temp%\link2.vbs
echo devcon.exe /disable 摄像头ID >%windir%\禁用摄像头.bat
echo devcon.exe /enable 摄像头ID >%windir%\启用摄像头.bat
echo set WshShell = WScript.CreateObject("WScript.Shell") >>%temp%\link1.vbs
echo strDesktop = WshShell.SpecialFolders("Desktop") >>%temp%\link1.vbs
echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\禁用摄像头.lnk") ^'快捷方式的名字 >>%temp%\link1.vbs"
echo oShellLink.TargetPath = "%windir%\禁用摄像头.bat" '快捷方式里的“目标” >>%temp%\link1.vbs
echo oShellLink.WindowStyle = 1 '快捷方式里的“运行方式” >>%temp%\link1.vbs
echo oShellLink.Hotkey = "Ctrl+Alt+1" '快捷方式里的“快捷键” >>%temp%\link1.vbs
echo oShellLink.IconLocation = "%windir%\system32\shell32.dll, 27" '快捷方式的图标 >>%temp%\link1.vbs
echo oShellLink.Description = "禁用摄像头" '快捷方式里的“备注” >>%temp%\link1.vbs
echo oShellLink.WorkingDirectory = "%windir%" '快捷方式里的“起始位置”" >>%temp%\link1.vbs
echo oShellLink.Save >>%temp%\link1.vbs
%temp%\link1.vbs
echo set WshShell = WScript.CreateObject("WScript.Shell") >>%temp%\link2.vbs
echo strDesktop = WshShell.SpecialFolders("Desktop") >>%temp%\link2.vbs
echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\启用摄像头.lnk") ^'快捷方式的名字 >>%temp%\link2.vbs"