Como crear y utilizar aplicaciones hechas en el lenguaje VBScript para crear, eliminar y cambiar los valores de las claves del Registro, uso de los métodos RegWrite, RegRead, RegDelete y Run. Códigos con ejemplos prácticos.

¿Por qué utilizar VBScript, cuales son las ventajas?
El lenguaje VBScript, aunque complejo proporciona ventajas, una de ellas es que puede ser insertado en páginas web y ejecutadas desde el navegador del usuario, siempre que este sea Internet Explorer.
También con dichos scripts pueden crearse páginas o aplicaciones HTA, que funcionarán en todos los equipos que utilicen Windows, de la misma forma que otra aplicación cualquiera.
Lee más información en la siguiente página: Crear aplicaciones en VBScript para usar en Windows
¿Cómo crear los scripts ejecutables?
Para crear un script, solo es necesario copiar los códigos de ejemplos, al Bloc de notas u otro editor como Notepad+ y guardar el archivo con cualquier nombre, pero con la extensión de archivo VBS.
Al dar dos clics en dicho archivo, Windows ejecutará el código que contiene con Windows Scripting Host (wscript.exe).
Antes de usar cualquiera de los siguientes ejemplos, exporta la rama o clave del Registro a modificar (crea un archivo REG), para restaurarlo en caso de cualquier problema.
Usar VBScript para modificar el Registro
Se pueden usar varios métodos en VBScript, entre ellos:
.RegWrite Para crear o modificar claves y valores
.RegRead Leer e interpretar valores
.RegDelete Eliminar claves y valores
.Run Para iniciar programas o aplicaciones.
.RegRead Leer e interpretar valores
.RegDelete Eliminar claves y valores
.Run Para iniciar programas o aplicaciones.
Ejemplo del uso de .RegWrite
Usa el siguiente código para crear un script VBS que permitirá usarlo como ejemplo para modificar una entrada sencilla, que mostrará la versión de Windows que utilizas en el Escritorio.
Copia y pega el código en el Bloc de notas y guarda el archivo con cualquier nombre, pero con la extensión: VBS.
strRoot = "HKEY_CURRENT_USER\Control Panel\Desktop\PaintDesktopVersion" Set objShell = CreateObject("WScript.Shell") strModify = objShell.RegWrite(strRoot,"00000001", "REG_DWORD")Para ver el resultado en el Escritorio, solo Cierra e inicia sesión de nuevo.
Para ocultar la versión en el Escritorio, cambia el valor a 0 en el script.
Ejemplo del uso de .RegRead
Usa el siguiente script para mostrar un mensaje que indica si la edición en la consola de CMD está habilitada o no.
strRoot = "HKEY_CURRENT_USER\Console\QuickEdit" Set objShell = CreateObject("WScript.Shell") strModify = objShell.RegRead(strRoot) If strModify = "1" then strBuild = " Habilitada" Else strBuild =" Deshabilitada" End If WScript.Echo "La edición en la consola de CMD está: " & strBuild strModify = null WScript.Quit
Ejemplo del uso de .RegDelete
Antes de usar el método .RegDelete, hay que conocer la importancia del uso de la barra inclinada (slash) al final de una ruta.
Por ejemplo al usar .RegDelete en: HKEY_CURRENT_USER\Console\QuickEdit, solo eliminará el valor QuickEdit.
Al utilizarlo en: HKEY_CURRENT_USER\Console\QuickEdit\, eliminará la clave completa.
Con el siguiente script podemos crear una nueva clave de ejemplo:
strRoot = "HKEY_CURRENT_USER\Control Panel\NorfiPC\ejemplo" Set objShell = CreateObject("WScript.Shell") strModify = objShell.RegWrite(strRoot,"00000001", "REG_DWORD")
Con el siguiente la eliminaremos completamente:
strRoot = "HKEY_CURRENT_USER\Control Panel\NorfiPC\" Set objShell = CreateObject("WScript.Shell") strModify = objShell.RegDelete(strRoot)
Ejemplos del uso de .Run
El siguiente script inicia Regedit
Set objShell = CreateObject("Wscript.Shell") objShell.Run "regedit.exe"
El siguiente script abre el documento especificado en la ruta.
Set objShell = CreateObject("WScript.Shell") strCommand = "D:\Documentos\Modificar.docx" objShell.Run strCommand, 1,true
Los cambios y modificaciones hechos en el Registro, para verlos en ocasiones solo es necesario refrescar usando la tecla F5.
Para los hechos en la rama HKEY_CURRENT_USER a veces necesitan cerrar e iniciar sesión.
Los hechos en la rama HKEY_LOCAL_MACHINE en ocasiones basta necesita reiniciar el explorador, si no es necesario reiniciar completamente el equipo.
Para reiniciar el explorador de forma sencilla, solo introduce en el cuadro de Inicio y presiona la tecla Enter:
cmd /c TASKKILL /F /IM explorer.exe && timeout /nobreak 04 & start explorer.exe
Para los hechos en la rama HKEY_CURRENT_USER a veces necesitan cerrar e iniciar sesión.
Los hechos en la rama HKEY_LOCAL_MACHINE en ocasiones basta necesita reiniciar el explorador, si no es necesario reiniciar completamente el equipo.
Para reiniciar el explorador de forma sencilla, solo introduce en el cuadro de Inicio y presiona la tecla Enter:
cmd /c TASKKILL /F /IM explorer.exe && timeout /nobreak 04 & start explorer.exe
Scripts para optimizar el funcionamiento de Windows
Varios ejemplos de códigos para crear scripts, que permiten optimizar el sistema, específicamente el uso de la memoria RAM en el equipo y afinar el sistema de archivo.
Más información sobre su funcionamiento, puedes encontrar en las siguientes páginas:
➔ Modificar el Registro de Windows, optimizar el uso de la memoria RAM del equipo
➔ Modificar el Registro de Windows, optimizar el uso del sistema de archivos
Deshabilitar la paginación de la memoria en Windows
'Escrito por Norfi, http://norfipc.com/
'Este script modifica la clave Memory Management
'Cambia el valor DWORD: DisablePagingExecutive a 1
Dim wshShell, RegKey
Set wshShell = Wscript.CreateObject("Wscript.Shell")
msgIntro = msgBox("Este script deshabilitará la paginación del nucleo" & vbCrlf & "Desea continuar?", vbYesNo+vbQuestion)
If msgIntro = vbNo then Wscript.Quit
RegKey = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\"
wshShell.regWrite RegKey & "DisablePagingExecutive", 00000001, "REG_DWORD"
Set objWshell = Nothing
Wscript.Quit
Mayor tamaño para la caché del sistema
'Escrito por Norfi, http://norfipc.com/
'Este script modifica la clave Memory Management
'Cambia el valor DWORD: LargeSystemCache a 1
Dim wshShell, RegKey
Set wshShell = Wscript.CreateObject("Wscript.Shell")
msgIntro = msgBox("Este scrip establece LargeSystemCache en 1" & vbCrlf & "Desea continuar?", vbYesNo+vbQuestion)
If msgIntro = vbNo then Wscript.Quit
RegKey = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\"
wshShell.regWrite RegKey & "LargeSystemCache", 00000001, "REG_DWORD"
Set objWshell = Nothing
Wscript.Quit
Deshabilitar la creación de nombres 8.3
'Este script modifica la clave FileSystem
'Cambia el valor DWORD: NtfsDisable8dot3NameCreation a 1
Dim wshShell, RegKey
Set wshShell = Wscript.CreateObject("Wscript.Shell")
msgIntro = msgBox("Este scrip establece el valor NtfsDisable8dot3NameCreation en 1" & vbCrlf & "Desea continuar?", vbYesNo+vbQuestion)
If msgIntro = vbNo then Wscript.Quit
RegKey = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\"
wshShell.regWrite RegKey & "NtfsDisable8dot3NameCreation", 00000001, "REG_DWORD"
Set objWshell = Nothing
Wscript.Quit
Deshabilitar la actualización de acceso a archivos
'Escrito por Norfi, http://norfipc.com/
'Este script modifica la clave FileSystem
'Cambia el valor DWORD: NtfsDisableLastAccessUpdate a 1
Dim wshShell, RegKey
Set wshShell = Wscript.CreateObject("Wscript.Shell")
msgIntro = msgBox("Este scrip establecerá NtfsDisableLastAccessUpdate en 1" & vbCrlf & "Desea continuar?", vbYesNo+vbQuestion)
If msgIntro = vbNo then Wscript.Quit
RegKey = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\"
wshShell.regWrite RegKey & "NtfsDisableLastAccessUpdate", 00000001, "REG_DWORD"
Set objWshell = Nothing
Wscript.Quit
Incrementar la cantidad de memoria en la paginación para NTFS
'Escrito por Norfi, http://norfipc.com/
'Este script modifica la clave FileSystem
'Cambia el valor DWORD: NtfsMemoryUsage en 2
Dim wshShell, RegKey
Set wshShell = Wscript.CreateObject("Wscript.Shell")
msgIntro = msgBox("Este scrip establece el valor de NtfsMemoryUsage en 2" & vbCrlf & "Desea continuar?", vbYesNo+vbQuestion)
If msgIntro = vbNo then Wscript.Quit
RegKey = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\"
wshShell.regWrite RegKey & "NtfsMemoryUsage", 00000002, "REG_DWORD"
Set objWshell = Nothing
Wscript.Quit
No hay comentarios:
Publicar un comentario