Cambiar el Registro con scripts: Archivos REG

Como se ha visto en algún otro artículo, podmos crear archivos REG con el Editor del Registro (Regedit.exe). Estos archivos son el método más clásico para añadir, y cambiar valores en el Registro, aunque no sea tan potente como otros métodos que vamos viendo. La mayor fragilidad de los REG es que no podemos usarlos para quitar valores, sólo añadirlos o modificarlos y en todo caso, eliminar llaves.

En cuanto hemos creado un REG, lo podemos importar al Registro con un simple doble-clic. Es un método agradable si queremos que se importe manualmente, sea por nosotros o por nuestros usuarios, pero necesitaremos el uso del comando regedit /s archivo.reg si queremos importarlo mediante una infraestructura de administración de software o proporcionando un enlace en la intranet. Donde sustituimos archivo.reg por el archivo a importar, incluído su ruta. La opción /s lo importa sin preguntar nada al usuario. Recuerda! para editarlo, clic derecho y editar, un doble-clic no lo abrirá en el bloc de notas sino que lo importará directamente al Registro.

Hay dos tipos distintos de archivos REG, la versión 4 es ANSI y la versión 5 es Unicode. Ante la duda, crearlo siempre en version 5.

La manera más fácil de crear un REG es con RegEdit, exportando las claves.

Sin embargo, también podemos crearlos de forma manual, aunque ello supone un proceso propenso a la generación de errores no demasiado recomendable.

Abrimos el Bloc de notas y creamos un nuevo archivo:

  1. Al inicio añadimos uno de los dos seguido de una línea en blanco: si es versión 4 REGEDIT4 y si es versión 5 Windows Registry Editor Version 5.00.
  2. Cada clave de la que queremos importar valore, añadimos una sección tipo [Clave], donde Clave es el nombre completo qualificado de la clave, nada de abreviaturas.
  3. Cada valor a importar al Registro, añadimos el valor con el formato “nombre”=valor dentro de la sección de la [Clave]. Usa @ para un valor predeterminado de la clave. Cumplir con el formato del valor *, la barra invertida \ sirve de continuación de línea.
  4. Una vez terminado, Guardar como, escribimos su nombre y la extensión REG, asegurándonos que el Bloc de notas no le añade la extensión .txt, y entonces desde la lista desplegable CODIFICACIÓN escogemos ANSI para la version 4 y Unicode en el caso de versión 5.

codificacion

*formato de valores archivos REG

Tipo valor Versión 4 Versión 5
REG_SZ "string" "string"
REG_DWORD dword:00007734 dword:00007734
REG_BINARY hex:00,00,01,03 hex:00,00,01,03
REG_EXPAND_SZ hex(2):25, 53, 59, 53, 54, 45, 4d, 52, 4f, 4f, 54, 25, 00 hex(2):25, 00, 53, 00, 59, 00, 53, 00, 54, 00, 45, 00, 4d, 00, 52, 00, 4f, 00, 4f, 00, 54, 00, 25, 00, 00, 00,
REG_MULTI_SZ hex(7):25, 53, 59, 53, 54, 45, 4d, 52, 4f, 4f, 54, 25, 00, 25, 53, 59, 53, 54, 45, 4d, 52, 4f, 4f, 54, 25, 65, 00,00 hex(7):25, 00, 53, 00, 59, 00, 53, 00, 54, 00, 45, 00, 4d, 00, 52, 00, 4f, 00, 4f, 00, 54, 00, 25, 00, 00, 00, 25, 00, 53, 00, 59, 00, 53, 00, 54, 00, 45, 00, 4d, 00, 52, 00, 4f, 00, 4f, 00, 54, 00, 25, 00, 65, 00, 00, 00, 00, 00

Caracteres especiales en archivos REG

Dentro de los REG hay algunos caracteres que tienen un significado especial. Las comillas comienzan y terminan cadenas. La barra invertida indica continuación de línea. ¿Cómo podemos introducir estos caracteres en los valores? Pues usando como prefijo otra barra invertida. Con ello obtenemos:

\\ represente a \, por ejemplo: C:\\archivos de programa\\msoffice

\" represente a ", por ejemplo: \" esto es una cadena entre comillas\"

\n es una linea nueva

\r es un retorno de carro.

Eliminar claves mediante REGs

No podemos eliminar valores individuales con archivos REG, pero si eliminar una clave entera. Tan sólo debemos preceder, usar como prefijo, el signo menos – a la clave a eliminar. Por ejemplo:

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\ESET]

Un tip sencillo es primero exportar las claves a un REG, quitar sus valores y otras claves, ponerle el – a los nombres a eliminar e importarlo.

Leave a Reply

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


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>