Tabla de contenido:

Bloqueo de unidad VBScript: 5 pasos
Bloqueo de unidad VBScript: 5 pasos

Video: Bloqueo de unidad VBScript: 5 pasos

Video: Bloqueo de unidad VBScript: 5 pasos
Video: Como Eliminar Virus de Tu PC con CMD | RESUELTO | 2024, Noviembre
Anonim
Bloqueo de unidad VBScript
Bloqueo de unidad VBScript
Bloqueo de unidad VBScript
Bloqueo de unidad VBScript

Actualización: este programa ahora tiene la capacidad de ocultar las unidades bloqueadas especificadas

Después de hacer mi bloqueo de pantalla que bloquea la computadora de los usuarios, decidí tomar el desafío de hacer un bloqueo de unidad que bloquee una unidad.

A veces, todos queremos mantener a los usuarios fuera de una unidad (especialmente una unidad USB). Por lo tanto, este programa bloqueará la unidad para evitar que usuarios no autorizados accedan a ella.

A diferencia de mi bloqueo de pantalla, este script es bastante complicado. Principalmente porque agregué muchos si y luego solo para darle al programa una sensación profesional.

Este programa fue creado en VBScript. En los próximos pasos le mostraré cómo lo hice.

Paso 1: Mi programa …

Mi programa…
Mi programa…

Puedes descargar mi Drive Lock a continuación:

Aquí está el archivo VBScript sin procesar LINK. Tendrá que eliminar una de las 's' al final para que sea 'DriveLock.vbs' o lo que quiera siempre que termine en.vbs.

Paso 2: Hacer el bloqueo de la unidad (parte 1)

Hacer el bloqueo de la unidad (parte 1)
Hacer el bloqueo de la unidad (parte 1)
Hacer el bloqueo de la unidad (parte 1)
Hacer el bloqueo de la unidad (parte 1)

Aquí te mostraré la primera parte del bloqueo de la unidad … La primera imagen es lo que aparece cuando ejecutas el programa por primera vez.

Lo hice para que tengas tres opciones aquí: bloquear una unidad, desbloquear una (s) unidad (es) o salir.

Ahora así es como lo hice:

Función DisplayPrompt () intSplash = MsgBox ("¿Qué le gustaría hacer?" & VbCrLf & vbCrLf _ & "[Haga clic en SÍ para bloquear una unidad]" & vbCrLf _ & "[Haga clic en NO para desbloquear las unidades] ", 35, cTitleBarMsg) Si intSplash = 2 Entonces DisplaySplashScreen () ElseIf intSplash = 7 Luego, en caso de error, reanudar Siguiente objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWsh / hl. RegDelete Software" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Las unidades ya están desbloqueadas. ", 16, cTitleBarMsg DisplayPrompt () End If On Error Goto 0 objWshShl. Run" Taskkill / f / im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd / c explorer.exe ", 0 MsgBox" ¡La unidad desbloqueada se completó correctamente! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Si hace clic en NO para desbloquear la (s) unidad (es), elimina las claves de registro que contienen la configuración que bloquea / oculta la unidad y también comprueba si la unidad ya está desbloqueada. Luego reinicia explorer.exe para que los cambios surtan efecto de inmediato.

Si hace clic en cancelar, muestra la pantalla de inicio y luego sale.

Finalmente, si hace clic en SÍ, pasa al siguiente menú. Lo que explicaré en el siguiente paso.

Paso 3: Hacer el bloqueo de la unidad (parte 2)

Hacer el bloqueo de la unidad (parte 2)
Hacer el bloqueo de la unidad (parte 2)
Hacer el bloqueo de la unidad (parte 2)
Hacer el bloqueo de la unidad (parte 2)

A continuación, te mostraré el menú donde eliges la unidad que deseas bloquear (foto 1).

Establecer colDrives = objFSO. Drives

Para cada objDrive en colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Siguiente strDrives = LCase (Reemplazar (strDriveList, "", "", 1, -1)) Establecer colDrives = objFSO. Drives strDriveList = "" Para cada objDrive en colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Siguiente

InputMenu ()

Sub InputMenu strChoice = InputBox ("Ingrese la letra de la unidad que desea bloquear". & _ "O escriba ALL para bloquear todas las unidades." & _ Vbcrlf & vbcrlf & "Unidades disponibles" & Espacio (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

El primer bit de código genera una lista de todas las unidades disponibles. La siguiente parte es el cuadro de entrada donde ingresa la letra de la unidad que desea bloquear.

Si intenta escribir algo que no sea una letra de unidad válida, el programa la rechazará. Así es como lo hice:

Si está vacío (strChoice) Entonces

DisplaySplashScreen () ElseIf strChoice = "" Entonces MsgBox "No deje este espacio en blanco.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Entonces 'No haga nada másIf Len (strChoice) 1 Luego MsgBox "Debe ingresar SOLO la letra. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Luego MsgBox" Elección no válida, inténtelo de nuevo. ", 16, cTitleBarMsg InputMenu () End If

Las primeras dos líneas comprueban si el usuario presionó el botón cancelar y si lo hizo, el programa se cierra.

Las siguientes tres líneas verifican si el usuario dejó el área de entrada en blanco.

El resto del código es bastante confuso, pero básicamente se trata de asegurarse de que el usuario haya escrito una unidad válida.

Paso 4: Hacer el bloqueo de la unidad (Parte 3)

Hacer el bloqueo de la unidad (parte 3)
Hacer el bloqueo de la unidad (parte 3)

Por alguna razón, el registro no puede leer la letra de la unidad solo, por lo que debe colocarse en un número entero correspondiente. Eso es lo que hace este código a continuación. Para obtener más información sobre esto, haga clic aquí.

ElseIf strChoice = "a" Entonces

intDriveNumber = 1 ElseIf strChoice = "b" Entonces intDriveNumber = 2 ElseIf strChoice = "c" Luego intDriveNumber = 4

Una vez que el entero está configurado, el script ahora puede escribir en el registro usando este código:

Otra nota es que este programa escribe en HKLM en lugar de HKCU. HKLM afecta a todos los usuarios en lugar de solo al usuario que ha iniciado sesión actualmente para que el bloqueo sea más efectivo.

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive", intDriveNumber, "REG_DWORD"

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives", intDriveNumber, "REG_DWORD"

Paso 5: bloqueo de la unidad

Espero que este instructivo le haya resultado útil. Si no comprende una parte de esto, publique un comentario o envíeme un mensaje de correo electrónico.

Y por favor, dame tu opinión sobre cualquier problema y califícalo. Pasé mucho tiempo en esto.

Si desea descargar el archivo vbs sin formato, asegúrese de que esté guardado con una extensión de archivo.vbs. Otra cosa buena es que es portátil, por lo que puede ejecutarlo desde una unidad flash y no necesita instalar nada.

Recomendado: