在Windows 7中禁用/启用USB驱动程序而不使用C ++ / C#/ PowerShell重新启动

时间:2012-10-10 04:43:18

标签: c# c++ powershell usb gpo

我需要一种简单的方法来通过c ++ / c#/ powershell脚本追溯性地禁用/启用Windows 7中的所有USB设备,而无需重新启动计算机。

据我所知,更改GPO是一种选择,但我似乎无法找到任何执行此操作而无需重新启动。

请详细解释您的解决方案,我是Windows上的管理新手。

1 个答案:

答案 0 :(得分:1)

使用PowerShell,您可以按照以下方式执行此操作

打开注册表并导航到以下注册表项,并查看reg键启动中的值。如果设置为“3”则表示PC上已启用USB驱动器。

Get-ItemProperty  "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start


PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
PSChildName  : USBSTOR
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry
Start        : 3

如果要禁用它,可以使用以下命令

将值设置为4
Set-ItemProperty  "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start -Value 4

如果我再次检查reg键值,我看它已被修改为4,如果我插入USB驱动器,它将不会被检测到

Get-ItemProperty  "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start


PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
PSChildName  : USBSTOR
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry
Start        : 4