ZBLOG

注册表怎么设置usb只能接入存储设备和打印机

在Windows中通过注册表设置USB只能接入存储设备和打印机,可以通过以下方法实现:

手动注册表配置步骤

1. 启用USB存储设备

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Start"=dword:00000003
"Type"=dword:00000001

2. 启用打印机服务

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler]
"Start"=dword:00000002

3. 禁用其他USB设备类GUID

创建禁用列表:

Windows Registry Editor Version 5.00

; 禁用HID设备(键盘、鼠标等)
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceClasses]
"1"="{745a17a0-74d3-11d0-b6fe-00a0c90f57da}"

; 禁用便携设备
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceClasses]
"2"="{eec5ad98-8080-425f-922a-dabf3de3f69a}"

; 禁用智能卡读卡器
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceClasses]
"3"="{50dd5230-ba8a-11d1-bf5d-0000f805f530}"

; 启用限制策略
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions]
"DenyDeviceClasses"=dword:00000001

4. PowerShell脚本方法

# 启用USB存储和打印机,禁用其他设备
$registryPath = "HKLM:\SYSTEM\\CurrentControlSet\\Services\\"

# 启用USB存储驱动
Set-ItemProperty -Path ($registryPath + "USBSTOR") -Name "Start" -Value 3

# 启用打印服务  
Set-Service -Name Spooler -StartupType Automatic

# 定义要禁用的设备类GUID
$deniedClasses = @(
    "{745a17a0-74d3-11d0-b6fe-00a0c90f57da}", # HID设备
    "{eec5ad98-8080-425f-922a-dabf3de3f69a}", # WPD便携设备  
    "{50dd5230-ba8a-11d1-bf5d-0000f805f530}"  # 智能电话
)

# 应用限制策略  
foreach ($class in $deniedClasses) {
    New-ItemProperty -Path "HKLM:\SOFTWARE\\Policies\\Microsoft\\Windows\\DeviceInstall\\Restrictions\\DenyDeviceClasses" `
        -Name $class -Value "1" -Force | Out-Null
}

Write-Host "USB限制策略已应用"

C++实现示例

#include <windows.h>
#include <iostream>

bool SetUSBRestrictions() {
    HKEY hKey;
    DWORD dwDisposition;
    
    // USB存储设置路径  
    const char* usbStorPath = "SYSTEM\\CurrentControlSet\\Services\\USBSTOR";
    
    if (RegCreateKeyExA(HKEY_LOCAL_MACHINE, usbStorPath, 
                       0, NULL, REG_OPTION_NON_VOLATILE,
                       KEY_WRITE, NULL, &hKey, &dwDisposition) == ERROR_SUCCESS) {
        
        DWORD startValue = 3; // SERVICE_SYSTEM_START
        
        RegSetValueExA(hKey, "Start", 0, REG_DWORD, 
                      (BYTE*)&startValue, sizeof(startValue));
        
        RegCloseKey(hKey);
    }
    
    return true;
}

⚠️重要注意事项

  1. 管理员权限:需要以管理员身份运行这些操作
  2. 系统影响:此设置会影响所有用户和设备
  3. 备份注册表:操作前建议备份注册表
  4. 重启生效:部分更改需要重启计算机才能生效

📋常用设备类GUID参考

GUID 设备类型
{745a17a0-74d3…} HID(键盘、鼠标)
{eec5ad98-8080…} WPD便携设备
{4d36e96c-e325…} Modem
{4d36e972-e325…} Network Adapter

这样配置后,系统将只允许USB存储设备和打印机正常工作,其他类型的USB设备将被阻止安装和使用。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=24425

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?