Índice del artículo


8. Manipulando el registro.,

En la primera entrega ya vimos, aparte del método GUI, dos órdenes que son muy habituales para manejar el registro desde la línea de comandos: regedit, que recordemos podíamos iniciar con una serie de modificadores que todavía están disponibles en Windows XP, y el comando reg. Con este comando podemos hacer todas las operaciones que hacemos iniciando el registro con su interfaz gráfica, pero desde línea de comandos. La utilidad de gestionar el registro desde una consola son muchas, ya que bastantes operaciones son más rápidas de hacer desde una consola que desde una interfaz gráfica; aparte que desde una sesión de comandos es posible recuperar zonas del registro que limiten la funcionalidad de la interfaz gráfica o que inclusive nos impida iniciarla.

En este apartado vamos a recordar otras herramientas disponibles para modificar el registro. Y nos vamos a introducir en otra serie de comandos que no vienen documentados en la Ayuda de Windows.

Comando regsvr32
El comando regsvr32 nos va a registrar correctamente servidores de componentes COM que son requeridos por múltiples aplicaciones para su correcto funcionamiento. Estos servidores de componentes COM suelen venir o bien con extensión exe, o bien con extensión .dll. Es habitual que este tipo de servidores se registren correctamente durante la instalación del programa que los requiere, pero también es habitual que durante un periodo de uso se pierda esa información por diferentes causas, o que el componente requiera actualizar su información manualmente.
La forma más sencilla de ejecutar este comando es sin parámetros, es decir, de la forma
Regsvr32 + nombredll
Mediante esta sencilla forma de ejecutarlo, nos aseguramos que la información del servidor de componentes es agregada adecuadamente al registro. Si el comando finaliza apropiadamente, nos avisará con una ventanita en la que nos advierte de este extremo, pero es posible ejecutarlo en modo silencioso agregándole el parámetro /s es decir:
Regsvr32 + nombredll /s
De este modo no nos avisará de nada. La forma de eliminar la información en el registro es agregándole el parámetro /u es decir,
Regsvr32 + nombredll /u
La información que recopila esta herramienta es incluida en el registro en una clave que ya he explicado en entregas anteriores. Se agrega en la rama HKEY_CLASSES_ROOT\CLSID y en sus subclaves asociadas.
La información de los diferentes servidores OLE/COM agregada al registro es posible verla de una forma más fácil, y es con la herramienta “mmc”. WinXP ya lleva un administrador de componentes COM que nos permite operar con este tipo de servidores desde el Panel de control > Herramientas administrativas > Administrador de componentes COM. Si deseamos saber qué componentes OLE hay registrados en el sistema lo podemos hacer desde el system information de Microsoft, ubicado en Herramientas > Accesorios, yendo a registro de software / registro de OLE. Otra herramienta también muy gráfica es el comando “oleview” que se puede obtener de las "Resources Kit" de Win2k3 de forma totalmente gratuita.

Comandos Regini y regmdp
La manipulación del registro mediante archivos *.reg es muy conocida, pero hay otra forma menos documentada, que es mediante archivos *.ini.
La creación de un archivo *.reg es muy sencilla: simplemente vamos a Inicio/Ejecutar tecleamos “regedit” y seleccionamos la rama a exportar, quedándonos solo ir al menú archivo/exportar, con lo que nos quedará un archivo *.reg de esa rama especifica que cuya información podrá importarse cómodamente a otro PC con solo hacer doble clic sobre el mismo.
La otra forma de manipular el registro es con Regini. Esta herramienta no es tan fácil de manejar como el comando “reg” o el comando “regedit” que ya hemos visto, pero con ella es posible desde hacer cambios menores en el sistema de permisos, hasta borrar determinadas claves. La sintaxis del comando varía sustancialmente de un archivo reg convencional, pero tenemos una herramienta llamada regdmp.exe, que nos ayudará a crear las salidas adecuadas. Lamentablemente la herramienta "regdmp.exe" no viene incluida en WinXP, y la única manera de obtenerla de forma oficial, es bajándose el resource kits de WinNT 4.0, y la forma oficiosa desde este enlace

Esto nos descargará un archivo zip, en el que viene incluida esa utilidad. Sólo tenemos que descomprimir el comando “regdmp.exe” en la carpeta \windows\system32. Su sintaxis es muy sencilla: una vez instalado, sólo tenemos que teclear regdmp.exe más el nombre de la clave cuya sintaxis queramos consultar. Si queremos guardar la salida en algún sitio, la única manera es ésta:

Regdmp Nombre_clave > archivo_salida.txt

Un ejemplo: vamos a consultar una clave específica del registro mediante regdmp y la redireccionamos a un archivo que posteriormente modificaremos e introduciremos en el registro mediante Regini.
E:\WINNT\system32\ENG> regdmp
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SNMP_EVENTS\EventLog\Parameters" > dmp.txt

El comando redireccionaría la salida del mismo a un archivo llamado “dmp.txt” en lugar de a la pantalla que es su salida natural; si instalamos el comando y tecleamos “regdmp /?” veremos las opciones disponibles.
Posteriormente sólo tenemos que abrir el archivo txt generado con un editor de texto normal, y modificar los parámetros que queramos para incluirlos posteriormente con Regini,.
Regini es también un comando muy cómodo para incluir en scripts para manipulación de registro.
De todas formas, yo me sigo quedando con el comando “reg” que trae por defecto WinXP, para hacer cualquier modificación en el registro. En el capitulo siguiente veremos algunas funcionalidades de este comando no tan conocidas, que nos permitirán hacer copia de seguridad y restauración del registro, así como creación de archivos hive manuales mediante este comando.