Deshabilitar puertos USB desde CMD o Powershell

publicado por: Anonymous

Estoy realizando un proyecto en el que, desde Java, ejecuto comandos de la CMD o de Powershell para llevar a cabo ciertas tareas (como, en este caso, deshabilitar los puertos USB de un ordenador).

He estado buscando información y lo que verdaderamente se ajusta a lo que quiero realizar es habilitar la directiva de grupo local:

“Directiva de Equipo Local –> Configuración del equipo –> Plantillas administrativas –> Sistema –> Acceso de almacenamiento extraíble –> Todas las clases de almacenamiento extraíble: denegar acceso a todo”.

Cuando habilito esta política, automáticamente vuelve a redectar los USB’s introducidos aplicando los cambios.

Inspeccioné los cambios en el registro que se realizan al activar dicha directiva y son, más o menos, los aquí explicados:

https://thorv.wordpress.com/2013/12/11/habilitardeshabilitar-escritura-y-lectura-de-dispositivos-de-almacenamiento-extraibles/

Dichos cambios en el registro puedo realizarlos fácilmente desde línea de comandos, pero el problema es que para que mi PC tome los valores actualizados de HKEY_LOCAL_MACHINE tengo que reiniciar el equipo (Situación no deseable).

Lo que me lleva a las cuestiones:

  • ¿Existe alguna forma de cambiar los valores del registro y que el PC tome dichos valores actualizados sin necesidad de reiniciar el equipo?.
  • ¿Puedo cambiar las directivas de grupo local desde línea de comandos?.
  • ¿Alguna otra idea?

solución

Tras varias pruebas creo que esta es la solución óptima a mi problema:

1º-Deshabilitamos en el PC la funcionalidad para detectar dispositivos de almacenamiento externo nuevos, es decir, cuyos drivers no estén instalados en nuestro ordenador:

reg add HKLMSYSTEMCurrentControlSetServicesUsbStor /v "Start" /t REG_DWORD /d "4" /f

2º-Eliminamos en el PC todos los drivers de los dispositivos USB instalados (Esto eliminará también la posibilidad de utilizar teclado y ratón, pero solo momentáneamente:

devcon.exe remove *USB*

3º- Volvemos a escanear los dispositivos USB conectados, de forma que Windows instalará automáticamente los drivers de los dispositivos que no sean de almacenamiento externo (Ej: Ratón, teclado…), obteniendo así el resultado deseado:

devcon.exe rescan

4º- Si queremos volver a permitir el uso de los USB de almacenamiento externo en nuestro ordenador, introduciremos el comando (Puede ser necesario quitar y volver a conectar el USB que queremos utilizar; en caso de que esté conectado al PC en el momento de introducir el comando):

reg add HKLMSYSTEMCurrentControlSetServicesUsbStor /v "Start" /t REG_DWORD /d "3" /f

PD: Todo habrá de ejecutarse con privilegios de administrador.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *