bloqueia / desbloqueia dispositivos usb, exceto a lista de permissões

2

Se eu quiser bloquear / desbloquear dispositivos USB, eu corro em cmd:

:block
reg add "HKLM\SYSTEM\CurrentControlSet\services\USBSTOR" /v Start /t REG_DWORD /d 4 /f
:unblock
reg add "HKLM\SYSTEM\CurrentControlSet\services\USBSTOR" /v Start /t REG_DWORD /d 3 /f

O que eu quero é:

  1. gera uma whitelist de dispositivos usb conectados (qualquer usb, inclui teclado, armazenamento usb, mouse, etc). (resolvido com caminho wmic Win32_USBControllerDevice get * > usb.txt )

  2. bloqueie / desbloqueie todos os dispositivos USB, exceto a lista de permissões. No linux pode ser feito com o udev. Não tenho ideia de como isso é feito no Windows.

Nota : por favor. Eu prefiro usar batch / wmic / regedit / cmd etc, em vez de USBDeview ou outra solução GUI. Eu também não estou interessado em soluções baseadas em Powershell

Minha pesquisa para resolver o problema : Eu encontrei uma coleção de scripts baseados em Devcon . Existe um chamado RenewUSB.bat . Este script remove todos os dispositivos USB e, em seguida, procura novamente novos. Pode eventualmente servir como ponto de partida para o que eu quero.

Para baixar o devcon neste link do Microsoft Old . Para obter drivers de lista para todos os dispositivos USB com comandos:

%windir%\system32\devcon.exe DriverFiles =USB > usb.txt
%windir%\system32\devcon.exe find USB\* > usb.txt
%windir%\system32\devcon.exe find *VID* > usb.txt 

PD: A maioria dos usb tem o identificador "VID" e "USB". Exemplo:

USB\VID_1C4F&PID_0002&MI_01&1578F7C2&0&0001 : Input device USB
HID\VID_1C4F&PID_0002&MI_00&2B89365C&0&0000 : Keyboard device HID

Para bloquear / desbloquear (dispositivo específico de usb.txt):

USB\VID_13FE&PID_1D00B7912980144     : USB storage device
%windir%\system32\devcon.exe disable *VID_13FE*
%windir%\system32\devcon.exe enable *VID_13FE*

Para bloquear / desbloquear todos os dispositivos usb

%windir%\system32\devcon.exe disable *VID* *USB*
%windir%\system32\devcon.exe enable *VID* *USB*

Por vezes, o devcon não desativa todos os usb. Somente alguns. Exemplo:

USB\VID_1C4F&PID_0002&MI_01&1578F7C2&0&0001 : Disabled
HID\VID_1C4F&PID_0002&MI_00&2B89365C&0&0000 : Disable failed

Neste caso, nenhuma solução. Substitua apenas o comando "disable" por "remove".

%windir%\system32\devcon.exe remove *VID* *USB*

Mas devcon não é uma solução permanente para bloquear e desbloquear dispositivos (como reg add qual é). O teste é que podemos bloquear um dispositivo USB e, em seguida, executar o script bash renewusb_2k.bat , e veremos que o script reinstalar os drivers USB novamente e o dispositivo USB bloqueado se torna acessível novamente. Então devcon não é a solução para o meu pedido.

Obrigado antecipadamente

    
por bdc 01.12.2016 / 23:45

1 resposta

-1

Consulte os seguintes artigos de technet sobre como restringir e permitir dispositivos por meio da política de grupo. Especificamente, a política Prevent installation of devices not described by other policy settings e a política Allow installation of devices that match any of these device IDs . Você precisará gerar uma lista de todos os dispositivos, não apenas dispositivos USB. Porque não tenho certeza se a política impede novas instalações ou impede que os dispositivos instalados existentes tenham seus drivers carregados. Mesmo que fossem apenas novas instalações, considere que a instalação de novos drivers contaria como um novo hardware sendo instalado.

link

link

Se você insistir em usar a linha de comando, poderá criar objetos de política de grupo com o powershell:

link

E para obter uma lista de todos os dispositivos atualmente instalados no seu sistema usando o powershell, veja esta resposta

Powershell Script para Exportar todos os dispositivos no Gerenciador de dispositivos como árvore ou lista?

AFAIK você não pode fazer isso usando o prompt de comando herdado do Microsoft / arquivos em lote. Você deve alternar para o powershell de qualquer maneira, pois o MS desabilitou o prompt de comando herdado por padrão na última versão interna do Windows 10 e provavelmente fará essa alteração para todos os usuários na próxima atualização importante.

    
por 02.12.2016 / 15:13