stringtranslate.com

Registro de Windows

El Registro de Windows es una base de datos jerárquica que almacena configuraciones de bajo nivel para el sistema operativo Microsoft Windows y para las aplicaciones que optan por utilizar el Registro. El kernel , los controladores de dispositivos , los servicios , el Administrador de cuentas de seguridad y las interfaces de usuario pueden utilizar el registro. El registro también permite el acceso a contadores para crear perfiles del rendimiento del sistema.

En otras palabras, el registro o Registro de Windows contiene información, configuraciones, opciones y otros valores para los programas y hardware instalados en todas las versiones de los sistemas operativos Microsoft Windows. Por ejemplo, cuando se instala un programa, se agrega al Registro de Windows una nueva subclave que contiene configuraciones como la ubicación de un programa, su versión y cómo iniciar el programa.

Cuando se introdujo con Windows 3.1 , el Registro de Windows almacenaba principalmente información de configuración para componentes basados ​​en COM . Windows 95 y Windows NT ampliaron su uso para racionalizar y centralizar la información en la profusión de archivos INI , que contenían las configuraciones de programas individuales y se almacenaban en varias ubicaciones. [1] [2] No es un requisito que las aplicaciones de Windows utilicen el Registro de Windows. Por ejemplo, las aplicaciones .NET Framework utilizan archivos XML para la configuración, mientras que las aplicaciones portátiles suelen conservar sus archivos de configuración con sus ejecutables .

Razón fundamental

Antes del Registro de Windows, . Los archivos INI almacenaban la configuración de cada programa como un archivo de texto o un archivo binario , a menudo ubicado en una ubicación compartida que no proporcionaba configuraciones específicas del usuario en un escenario multiusuario. Por el contrario, el Registro de Windows almacena todas las configuraciones de la aplicación en un repositorio lógico (pero una cantidad de archivos discretos) y en una forma estandarizada. Según Microsoft , esto ofrece varias ventajas sobre los archivos .INI. [2] [3] Dado que el análisis de archivos se realiza de manera mucho más eficiente con un formato binario, se puede leer o escribir más rápidamente que un archivo INI de texto. Además, los datos fuertemente tipados se pueden almacenar en el registro, a diferencia de la información de texto almacenada en archivos .INI. Esta es una ventaja al editar claves manualmente usando regedit.exe, el Editor del Registro de Windows integrado. Debido a que la configuración del registro basada en el usuario se carga desde una ruta específica del usuario en lugar de desde una ubicación del sistema de solo lectura, el registro permite que varios usuarios compartan la misma máquina y también permite que los programas funcionen para usuarios menos privilegiados. La copia de seguridad y la restauración también se simplifican ya que se puede acceder al registro a través de una conexión de red para administración/soporte remoto, incluso desde scripts, utilizando el conjunto estándar de API , siempre que el servicio de Registro remoto se esté ejecutando y las reglas del firewall lo permitan.

Debido a que el registro es una base de datos, ofrece una integridad mejorada del sistema con características como actualizaciones atómicas . Si dos procesos intentan actualizar el mismo valor de registro al mismo tiempo, el cambio de un proceso precederá al del otro y se mantendrá la coherencia general de los datos. Cuando se realizan cambios en archivos .INI, dichas condiciones de carrera pueden generar datos inconsistentes que no coinciden con ninguno de los intentos de actualización. Windows Vista y sistemas operativos posteriores proporcionan actualizaciones transaccionales al registro mediante el Kernel Transaction Manager , ampliando las garantías de atomicidad a través de múltiples cambios de clave o valor con la semántica tradicional de confirmación-aborto. (Sin embargo, tenga en cuenta que NTFS también proporciona dicho soporte para el sistema de archivos, por lo que, en teoría, se podrían obtener las mismas garantías con los archivos de configuración tradicionales).

Estructura

Claves y valores

El registro contiene dos elementos básicos: claves y valores . Las claves de registro son objetos contenedores similares a las carpetas. Los valores de registro son objetos que no son contenedores, similares a los archivos. Las claves pueden contener valores y subclaves. Se hace referencia a las claves con una sintaxis similar a los nombres de ruta de Windows, utilizando barras invertidas para indicar niveles de jerarquía. Las claves deben tener un nombre que no distinga entre mayúsculas y minúsculas y sin barras invertidas.

Sólo se puede acceder a la jerarquía de claves de registro desde un identificador de clave raíz conocido (que es anónimo pero cuyo valor efectivo es un identificador numérico constante) que está asignado al contenido de una clave de registro precargada por el núcleo desde una "colmena" almacenada. o al contenido de una subclave dentro de otra clave raíz, o asignado a un servicio registrado o DLL que proporciona acceso a sus subclaves y valores contenidos.

Por ejemplo, HKEY_LOCAL_MACHINE\Software\Microsoft\Windows se refiere a la subclave "Windows" de la subclave "Microsoft" de la subclave "Software" de la clave raíz HKEY_LOCAL_MACHINE.

Hay siete claves raíz predefinidas, tradicionalmente nombradas según sus identificadores constantes definidos en la API de Win32, o mediante abreviaturas sinónimas (según las aplicaciones): [4]

Al igual que otros archivos y servicios en Windows, todas las claves de registro pueden estar restringidas mediante listas de control de acceso (ACL), según los privilegios del usuario, los tokens de seguridad adquiridos por las aplicaciones o las políticas de seguridad del sistema aplicadas por el sistema (estas restricciones pueden estar predefinidas). por el propio sistema y configurado por los administradores del sistema local o por los administradores de dominio). Es posible que diferentes usuarios, programas, servicios o sistemas remotos solo vean algunas partes de la jerarquía o jerarquías distintas a partir de las mismas claves raíz.

Los valores del registro son pares de nombre/datos almacenados dentro de las claves. Se hace referencia a los valores del registro por separado de las claves del registro. Cada valor de registro almacenado en una clave de registro tiene un nombre único cuyas letras no son significativas. Las funciones de la API de Windows que consultan y manipulan valores de registro toman nombres de valores por separado de la ruta de clave o identificador que identifica la clave principal. Los valores del Registro pueden contener barras invertidas en sus nombres, pero hacerlo hace que sea difícil distinguirlos de sus rutas clave cuando se utilizan algunas funciones heredadas de la API del Registro de Windows (cuyo uso está obsoleto en Win32).

La terminología es algo engañosa, ya que cada clave de registro es similar a una matriz asociativa , donde la terminología estándar se referiría a la parte del nombre de cada valor de registro como una "clave". Los términos son una exclusión del registro de 16 bits en Windows 3, en el que las claves de registro no podían contener pares arbitrarios de nombre/datos, sino que contenían sólo un valor sin nombre (que tenía que ser una cadena). En este sentido, el registro de Windows 3 era como una única matriz asociativa, en la que las claves (en el sentido tanto de 'clave de registro' como de 'clave de matriz asociativa') formaban una jerarquía, y los valores del registro eran todos cadenas. Cuando se creó el registro de 32 bits, también lo fue la capacidad adicional de crear múltiples valores con nombre por clave, y los significados de los nombres estaban algo distorsionados. [6] Para compatibilidad con el comportamiento anterior, cada clave de registro puede tener un valor "predeterminado", cuyo nombre es la cadena vacía.

Cada valor puede almacenar datos arbitrarios con longitud y codificación variables, pero que están asociados con un tipo simbólico (definido como una constante numérica) que define cómo analizar estos datos. Los tipos estándar son: [7]

Claves raíz

Las claves en el nivel raíz de la base de datos jerárquica generalmente se denominan según sus definiciones de API de Windows , todas las cuales comienzan con "HKEY". [2] Con frecuencia se abrevian con un nombre corto de tres o cuatro letras que comienza con "HK" (por ejemplo, HKCU y HKLM). Técnicamente, son identificadores predefinidos (con valores constantes conocidos) para claves específicas que se mantienen en la memoria o se almacenan en archivos de colmena almacenados en el sistema de archivos local y cargados por el kernel del sistema en el momento del arranque y luego compartidos (con varios derechos de acceso). entre todos los procesos que se ejecutan en el sistema local, o cargado y mapeado en todos los procesos iniciados en una sesión de usuario cuando el usuario inicia sesión en el sistema.

Los nodos HKEY_LOCAL_MACHINE (datos de configuración específicos de la máquina local) y HKEY_CURRENT_USER (datos de configuración específicos del usuario) tienen una estructura similar entre sí; las aplicaciones de usuario generalmente buscan su configuración comprobándola primero en "HKEY_CURRENT_USER\Software\Vendor's name\Application's name\Version\Setting name", y si no se encuentra la configuración, busque en la misma ubicación debajo de la clave HKEY_LOCAL_MACHINE. Sin embargo, lo contrario puede aplicarse a las configuraciones de políticas aplicadas por el administrador donde HKLM puede tener prioridad sobre HKCU. El programa del logotipo de Windows tiene requisitos específicos sobre dónde se pueden almacenar diferentes tipos de datos de usuario y que se siga el concepto de privilegio mínimo para que no se requiera acceso de nivel de administrador para usar una aplicación. [un] [10]

HKEY_LOCAL_MACHINE (HKLM)

Abreviado HKLM, HKEY_LOCAL_MACHINE almacena configuraciones que son específicas de la computadora local. [11]

La clave ubicada por HKLM en realidad no se almacena en el disco, sino que el núcleo del sistema la mantiene en la memoria para asignar todas las demás subclaves. Las aplicaciones no pueden crear subclaves adicionales. En Windows NT, esta clave contiene cuatro subclaves, "SAM", "SECURITY", "SYSTEM" y "SOFTWARE", que se cargan en el momento del arranque dentro de sus respectivos archivos ubicados en la carpeta %SystemRoot%\System32\config. Una quinta subclave, "HARDWARE", es volátil y se crea dinámicamente y, como tal, no se almacena en un archivo (expone una vista de todos los dispositivos Plug-and-Play detectados actualmente). En Windows Vista y versiones posteriores, el kernel asigna una sexta y séptima subclave, "COMPONENTS" y "BCD", a la memoria a pedido y se cargan desde %SystemRoot%\system32\config\COMPONENTS o desde los datos de configuración de arranque, \boot \BCD en la partición del sistema.

HKEY_CLASSES_ROOT (HKCR)

HKCR, abreviado, HKEY_CLASSES_ROOT, contiene información sobre aplicaciones registradas, como asociaciones de archivos e ID de clases de objetos OLE , vinculándolas con las aplicaciones utilizadas para manejar estos elementos. En Windows 2000 y superior, HKCR es una compilación de HKCU\Software\Classes basado en usuario y HKLM\Software\Classes basado en máquina. Si existe un valor determinado en ambas subclaves anteriores, el de HKCU\Software\Classes tiene prioridad. [13] El diseño permite el registro de objetos COM específico de la máquina o del usuario .

HKEY_USERS (HKU)

HKU, abreviado, HKEY_USERS contiene subclaves correspondientes a las claves HKEY_CURRENT_USER para cada perfil de usuario cargado activamente en la máquina, aunque las colmenas de usuarios generalmente solo se cargan para los usuarios actualmente conectados.

HKEY_CURRENT_USER (HKCU)

Abreviado HKCU, HKEY_CURRENT_USER almacena configuraciones que son específicas del usuario actualmente conectado. [14] La clave HKEY_CURRENT_USER es un enlace a la subclave de HKEY_USERS que corresponde al usuario; la misma información es accesible en ambas ubicaciones. La subclave específica a la que se hace referencia es "(HKU)\(SID)\..." donde (SID) corresponde al SID de Windows ; si la clave "(HKCU)" tiene el siguiente sufijo "(HKCU)\Software\Classes\..." entonces corresponde a "(HKU)\(SID)_CLASSES\..." es decir, la cadena de sufijo "_CLASSES" se adjunta al (SID).
En los sistemas Windows NT, la configuración de cada usuario se almacena en sus propios archivos llamados NTUSER.DAT y USRCLASS.DAT dentro de su propia subcarpeta Documentos y Configuración (o su propia subcarpeta Usuarios en Windows Vista y superior). La configuración de esta colmena sigue a los usuarios con un perfil móvil de una máquina a otra.

HKEY_PERFORMANCE_DATA

Esta clave proporciona información de tiempo de ejecución en los datos de rendimiento proporcionados por el propio kernel NT o por los controladores, programas y servicios del sistema en ejecución que proporcionan datos de rendimiento. Esta clave no se almacena en ninguna colmena ni se muestra en el Editor del Registro, pero es visible a través de las funciones de registro en la API de Windows o en una vista simplificada a través de la pestaña Rendimiento del Administrador de tareas (solo para algunos datos de rendimiento en el sistema local) o a través de paneles de control más avanzados (como Performances Monitor o Performances Analyzer, que permiten recopilar y registrar estos datos, incluso desde sistemas remotos).

HKEY_DYN_DATA

Esta clave se utiliza sólo en Windows 95, Windows 98 y Windows ME . [15] Contiene información sobre dispositivos de hardware, incluido Plug and Play y estadísticas de rendimiento de la red. La información de esta colmena tampoco se almacena en el disco duro; La información Plug and Play se recopila y configura al inicio y se almacena en la memoria. [dieciséis]

Urticaria

Aunque el registro se presenta como una base de datos jerárquica integrada, las ramas del registro en realidad se almacenan en una serie de archivos de disco llamados colmenas . [17] (La palabra colmena constituye una broma interna ). [18]

Algunas colmenas son volátiles y no se almacenan en absoluto en el disco. Un ejemplo de esto es la colmena de la rama que comienza en HKLM\HARDWARE. Esta colmena registra información sobre el hardware del sistema y se crea cada vez que el sistema arranca y realiza la detección de hardware.

Las configuraciones individuales para los usuarios de un sistema se almacenan en una colmena (archivo de disco) por usuario. Durante el inicio de sesión del usuario, el sistema carga el subárbol de usuarios bajo la clave HKEY_USERS y establece la referencia simbólica HKCU (HKEY_CURRENT_USER) para que apunte al usuario actual. Esto permite que las aplicaciones almacenen/recuperen configuraciones para el usuario actual implícitamente bajo la clave HKCU.

No todas las colmenas se cargan al mismo tiempo. En el momento del arranque, solo se carga un conjunto mínimo de colmenas y, después de eso, las colmenas se cargan a medida que se inicializa el sistema operativo y cuando los usuarios inician sesión o cada vez que una aplicación carga explícitamente una colmena.

Ubicaciones de archivos

El registro se almacena físicamente en varios archivos, que generalmente están ocultos desde las API de modo de usuario utilizadas para manipular los datos dentro del registro. Dependiendo de la versión de Windows, habrá diferentes archivos y diferentes ubicaciones para estos archivos, pero todos están en la máquina local. La ubicación de los archivos de registro del sistema en Windows NT es %System Root%\System32\Config; la sección de registro de usuarios HKEY_CURRENT_USER específica del usuario se almacena dentro Ntuser.datdel perfil de usuario. Hay uno de estos por usuario; Si un usuario tiene un perfil móvil , este archivo se copiará hacia y desde un servidor al cerrar sesión y al iniciar sesión, respectivamente. Un segundo archivo de registro específico del usuario denominado UsrClass.dat contiene entradas de registro COM y no se desplaza de forma predeterminada.

WindowsNT

Los sistemas Windows NT almacenan el registro en un formato de archivo binario que el Editor del Registro puede exportar, cargar y descargar en estos sistemas operativos. Los siguientes archivos de registro del sistema se almacenan en %SystemRoot%\System32\Config\:

El siguiente archivo se almacena en la carpeta de perfil de cada usuario:

Para Windows 2000, Server 2003 y Windows XP, el siguiente archivo adicional específico del usuario se utiliza para asociaciones de archivos e información COM:

Para Windows Vista y versiones posteriores, la ruta se cambió a:

Windows 2000 mantiene una copia alternativa de las secciones del registro (.ALT) e intenta cambiar a ella cuando se detecta corrupción. [20] Windows XP y Windows Server 2003 no mantienen un System.altsubárbol porque NTLDR en esas versiones de Windows puede procesar el System.logarchivo para actualizar un subárbol del sistema que se ha vuelto inconsistente durante un apagado o falla. Además, la %SystemRoot%\Repaircarpeta contiene una copia de las secciones del registro del sistema que se crearon después de la instalación y el primer inicio exitoso de Windows.

Cada archivo de datos de registro tiene un archivo asociado con una extensión ".log" que actúa como un registro de transacciones que se utiliza para garantizar que cualquier actualización interrumpida se pueda completar en el siguiente inicio. [21] Internamente, los archivos de Registro se dividen en "contenedores" de 4  kB que contienen colecciones de "celdas". [21]

ventanas 9x

Los archivos de registro se almacenan en el %WINDIR%directorio con los nombres USER.DATy SYSTEM.DATcon la adición de CLASSES.DATen Windows ME. Además, cada perfil de usuario (si los perfiles están habilitados) tiene su propio USER.DATarchivo que se encuentra en el directorio del perfil del usuario en %WINDIR%\Profiles\<Username>\.

Ventanas 3.11

Se llama al único archivo de registro REG.DATy se almacena en el %WINDIR%directorio.

Windows 10 Móvil

Nota: Para acceder a los archivos de registro, el teléfono debe configurarse en un modo especial usando: 

Si alguno de los métodos anteriores funcionó, los archivos de registro del dispositivo se pueden encontrar en la siguiente ubicación:

{Teléfono}\EFIESP\Windows\System32\config

Nota: InterOp Tools también incluye un editor de registro.

Edición

editores de registro

El registro contiene información de configuración importante para el sistema operativo, para las aplicaciones instaladas, así como configuraciones individuales para cada usuario y aplicación. Un cambio descuidado en la configuración del sistema operativo en el registro podría causar daños irreversibles, por lo que normalmente son sólo los programas de instalación los que realizan cambios en la base de datos del registro durante la instalación/configuración y eliminación. Si un usuario desea editar el registro manualmente, Microsoft recomienda realizar una copia de seguridad del registro antes del cambio. [22] Cuando se elimina un programa del panel de control, es posible que no se elimine por completo y, en caso de errores o fallas causadas por referencias a programas faltantes, es posible que el usuario tenga que verificar manualmente directorios internos como archivos de programa. Después de esto, es posible que el usuario necesite eliminar manualmente cualquier referencia al programa desinstalado en el registro. Esto generalmente se hace usando RegEdit.exe. [23] A veces es necesario editar el registro cuando se solucionan problemas específicos de Windows, por ejemplo, los problemas al iniciar sesión en un dominio se pueden resolver editando el registro. [24]

El Registro de Windows se puede editar manualmente utilizando programas como RegEdit.exe, aunque estas herramientas no exponen algunos de los metadatos del registro, como la fecha de la última modificación.

El editor de registro para la serie de sistemas operativos 3.1/95 es RegEdit.exe y para Windows NT es RegEdt32.exe; las funcionalidades están fusionadas en Windows XP. Hay herramientas opcionales y de terceros similares a RegEdit.exe disponibles para muchas versiones de Windows CE.

El Editor del Registro permite a los usuarios realizar las siguientes funciones:

.REGarchivos

.REGLos archivos (también conocidos como entradas de registro) son archivos de texto legibles por humanos para exportar e importar partes del registro utilizando una sintaxis basada en INI . En Windows 2000 y posteriores, contienen la cadena Editor del Registro de Windows Versión 5.00 al principio, mientras que en los sistemas Windows 9x y NT 4.0, contienen la cadena REGEDIT4 . [26] Los archivos REG de Windows 2000 y posteriores están basados ​​en Unicode , mientras que en los sistemas Windows 9x y NT 4.0, están basados ​​en ANSI . [ cita necesaria ] Los archivos en formato Windows 9x .REGson compatibles con Windows 2000 y versiones posteriores. [26] El Editor del Registro en Windows en estos sistemas también admite la exportación .REGde archivos en formato Windows 9x/NT. [ cita necesaria ] Los datos se almacenan en .REGarchivos utilizando la siguiente sintaxis: [26]

[< Nombre de colmena>\< Nombre de clave>\< Nombre de subclave>] "Nombre de valor" = <Tipo de valor>:<Datos de valor>   

El valor predeterminado de una clave se puede editar usando "@" en lugar de "Nombre del valor":

[< Nombre de la colmena>\< Nombre de clave>\< Nombre de subclave>] @ = <Tipo de valor>:<Datos del valor>   

Los valores de cadena no requieren un <Tipo de valor> (ver ejemplo), pero las barras invertidas ('\') deben escribirse como una doble barra invertida ('\\') y las comillas ('"') como una barra invertida ( '\"').

Por ejemplo, para sumar los valores "Valor A", "Valor B", "Valor C", "Valor D", "Valor E", "Valor F", "Valor G", "Valor H", "Valor I ", "Valor J", "Valor K", "Valor L" y "Valor M" a la clave HKLM\SOFTWARE\Foobar:

Editor del Registro de Windows Versión 5.00[ HKEY_LOCAL_MACHINE \SOFTWARE\Foobar] "Valor A" = "<Datos de valor de cadena con caracteres de escape>" "Valor B" = hexadecimal:<Datos binarios (como lista de valores hexadecimales delimitados por comas)> "Valor C" = dword: <valor entero DWORD> "Valor D" = hex(0):<REG_NONE (como lista delimitada por comas de valores hexadecimales)> "Valor E" = hex(1):<REG_SZ (como lista delimitada por comas de valores hexadecimales que representan una cadena UTF-16LE terminada en NUL)> "Valor F" = hex(2):<Datos de valor de cadena expandibles (como lista delimitada por comas de valores hexadecimales que representan una cadena UTF-16LE terminada en NUL)> "Valor G" = hex(3):<Datos binarios (como lista de valores hexadecimales delimitados por comas)> ; igual a "Valor B" "Valor H" = hex(4):<valor DWORD (como lista delimitada por comas de 4 valores hexadecimales, en orden de bytes little endian)> "Valor I" = hex(5):<valor DWORD (como lista delimitada por comas de 4 valores hexadecimales, en orden de bytes big endian)> "Valor J" = hex(7):<Datos de valores de varias cadenas (como lista delimitada por comas de valores hexadecimales que representan UTF-16LE terminado en NUL cadenas)> "Valor K" = hex(8):<REG_RESOURCE_LIST (como lista de valores hexadecimales delimitada por comas)> "Valor L" = hex(a):<REG_RESOURCE_REQUIREMENTS_LIST (como lista de valores hexadecimales delimitada por comas)> " Valor M" = hex(b):<valor QWORD (como lista delimitada por comas de 8 valores hexadecimales, en orden de bytes little endian)>

Los datos de .REGlos archivos se pueden agregar/combinar con el registro haciendo doble clic en estos archivos o usando el modificador /s en la línea de comando. REGLos archivos también se pueden utilizar para eliminar datos de registro.

Para eliminar una clave (y todas las subclaves, valores y datos), el nombre de la clave debe ir precedido de un signo menos ("-"). [26]

Por ejemplo, para eliminar la clave HKLM\SOFTWARE\Foobar (y todas las subclaves, valores y datos),

[ - HKEY_LOCAL_MACHINE \SOFTWARE\Foobar]

Para eliminar un valor (y sus datos), los valores que se eliminarán deben tener un signo menos ("-") después del signo igual ("="). [26]

Por ejemplo, para eliminar solo los valores "Valor A" y "Valor B" (y sus datos) de la clave HKLM\SOFTWARE\Foobar:

[ HKEY_LOCAL_MACHINE \SOFTWARE\Foobar] "Valor A" =- "Valor B" =-

Para eliminar solo el valor predeterminado de la clave HKLM\SOFTWARE\Foobar (y sus datos):

[ HKEY_LOCAL_MACHINE \SOFTWARE\Foobar] @ =-

Las líneas que comienzan con punto y coma se consideran comentarios:

; Este es un comentario. Esto se puede colocar en cualquier parte de un archivo .reg [ HKEY_LOCAL_MACHINE \SOFTWARE\Foobar] "Valor" = "Cadena de ejemplo"

Políticas de grupo

Las políticas de grupo de Windows pueden cambiar las claves de registro para varias máquinas o usuarios individuales según las políticas. Cuando una política entra en vigor por primera vez para una máquina o para un usuario individual de una máquina, la configuración del registro especificada como parte de la política se aplica a la configuración de la máquina o del usuario.

Windows también buscará políticas actualizadas y las aplicará periódicamente, normalmente cada 90 minutos. [27]

A través de su alcance, una política define a qué máquinas y usuarios se aplicará la política. Si una máquina o un usuario está dentro del alcance de una política o no, se define mediante un conjunto de reglas que pueden filtrar la ubicación de la máquina o la cuenta de usuario en el directorio de la organización, usuarios específicos o cuentas de máquina o grupos de seguridad. Se pueden configurar reglas más avanzadas utilizando expresiones del Instrumental de administración de Windows . Estas reglas pueden filtrar propiedades como el nombre del proveedor de la computadora, la arquitectura de la CPU, el software instalado o las redes conectadas.

Por ejemplo, el administrador puede crear una política con un conjunto de configuraciones de registro para máquinas en el departamento de contabilidad y una política con otro conjunto (de bloqueo) de configuraciones de registro para terminales de quiosco en el área de visitantes. Cuando una máquina se mueve de un ámbito a otro (por ejemplo, cambiando su nombre o moviéndola a otra unidad organizativa), se aplica automáticamente la política correcta. Cuando se cambia una política, se vuelve a aplicar automáticamente a todas las máquinas actualmente dentro de su alcance.

La política se edita a través de una serie de plantillas administrativas que proporcionan una interfaz de usuario para seleccionar y cambiar la configuración. El conjunto de plantillas administrativas es extensible y los paquetes de software que admiten dicha administración remota pueden registrar sus propias plantillas.

Edición de línea de comando

El registro se puede manipular de varias maneras desde la línea de comandos . Las herramientas de utilidad Reg.exey RegIni.exese incluyen en Windows XP y versiones posteriores de Windows. Las ubicaciones alternativas para las versiones heredadas de Windows incluyen los CD del kit de recursos o el CD de instalación original de Windows.

Además, .REGse puede importar un archivo desde la línea de comando con el siguiente comando:

Archivo RegEdit.exe /s

El /s significa que el archivo se fusionará silenciosamente con el registro. Si /sse omite el parámetro se le pedirá al usuario que confirme la operación. En Windows 98, Windows 95 y al menos algunas configuraciones de Windows XP, el /scambio también hace RegEdit.exeque se ignore la configuración en el registro que permite a los administradores desactivarlo. Cuando se utiliza, el /sconmutador RegEdit.exeno devuelve un código de retorno apropiado si la operación falla, a diferencia de Reg.exelo que sí lo hace.

Archivo RegEdit.exe /e

exporta todo el registro en formato V5 a un .REGarchivo UNICODE, mientras que cualquiera de

RegEdit.exe /e archivo HKEY_CLASSES_ROOT[\<clave>]RegEdit.exe /e archivo HKEY_CURRENT_CONFIG[\<clave>]RegEdit.exe /e archivo HKEY_CURRENT_USER[\<clave>]RegEdit.exe /e archivo HKEY_LOCAL_MACHINE[\<clave>]RegEdit.exe /e archivo HKEY_USERS[\<clave>]

exporte únicamente la (sub)clave especificada (que debe estar entre comillas si contiene espacios).

RegEdit.exe /un archivo

exporta todo el registro en formato V4 a un .REGarchivo ANSI.

RegEdit.exe /un archivo  <clave>

exporta únicamente la (sub)clave especificada (que debe estar entre comillas si contiene espacios).

También es posible utilizar Reg.exe. A continuación se muestra un ejemplo para mostrar el valor del valor del registro Versión:

Reg.exe CONSULTA HKLM\Software\Microsoft\ResKit /v Versión

Otras opciones de línea de comando incluyen VBScript o JScript junto con CScript , WMI o WindowsWMIC.exe PowerShell .

Los permisos de registro se pueden manipular a través de la línea de comando usando RegIni.exey la SubInACL.exeherramienta. Por ejemplo, los permisos en la clave HKEY_LOCAL_MACHINE\SOFTWARE se pueden mostrar usando:

SubInACL.exe /keyreg HKEY_LOCAL_MACHINE\SOFTWARE /display

Comandos y scripts de PowerShell

Usando PowerShell para navegar por el registro

Windows PowerShell viene con un proveedor de registro que presenta el registro como un tipo de ubicación similar al sistema de archivos. Los mismos comandos utilizados para manipular archivos y directorios en el sistema de archivos se pueden utilizar para manipular claves y valores del registro. [28]

Al igual que el sistema de archivos, PowerShell utiliza el concepto de ubicación actual que define el contexto en el que operan los comandos de forma predeterminada. ( también disponible a través de los Get-ChildItemalias o ) recupera las claves secundarias de la ubicación actual. Al utilizar el comando (o el alias ), el usuario puede cambiar la ubicación actual a otra clave del registro. [28] Los comandos que cambian el nombre de elementos, eliminan elementos, crean nuevos elementos o establecen el contenido de elementos o propiedades se pueden utilizar para cambiar el nombre de claves, eliminar claves o subárboles completos o cambiar valores.lsdirgciSet-Locationcd

A través de archivos de scripts de PowerShell, un administrador puede preparar scripts que, cuando se ejecutan, realizan cambios en el registro. Estos scripts se pueden distribuir a administradores que pueden ejecutarlos en máquinas individuales. El proveedor de registro de PowerShell admite transacciones, es decir, se pueden agrupar múltiples cambios en el registro en una única transacción atómica. Una transacción atómica garantiza que todos los cambios se confirmen en la base de datos o, si el script falla, ninguno de los cambios se confirme en la base de datos. [28] [29]

Programas o guiones

El registro se puede editar a través de las API de la Biblioteca API básica avanzada de Windows 32 (advapi32.dll). [30] Lista de funciones de la API de registro:

Muchos lenguajes de programación ofrecen funciones o clases de biblioteca de tiempo de ejecución integradas que envuelven las API de Windows subyacentes y, por lo tanto, permiten que los programas almacenen configuraciones en el registro (por ejemplo, en VB.NET y C# , o en Delphi y Free Pascal ). Las aplicaciones compatibles con COM, como Visual Basic 6, pueden utilizar el objeto WSH . Otra forma es utilizar la herramienta del kit de recursos de Windows, ejecutándola desde el código, [31] aunque esto se considera una mala práctica de programación.Microsoft.Win32.RegistryTRegistry WScript.ShellReg.exe

De manera similar, los lenguajes de secuencias de comandos como Perl (con Win32::TieRegistry), Python (con winreg), TCL (que viene incluido con el paquete de registro), [32] Windows Powershell y Windows Scripting Host también permiten la edición del registro desde secuencias de comandos.

Edición sin conexión

offreg.dll [33] disponible en el kit de controladores de Windows ofrece un conjunto de API para la creación y manipulación de colmenas de registro actualmente no cargadas similares a las proporcionadas por advapi32.dll.

También es posible editar el registro (colmenas) de un sistema fuera de línea desde Windows PE o Linux (en este último caso utilizando herramientas de código abierto ).

Autorregistro COM

Antes de la introducción del COM sin registro , se animaba a los desarrolladores a agregar código de inicialización a los archivos binarios en proceso y fuera de proceso para realizar la configuración de registro necesaria para que ese objeto funcionara. Para archivos binarios en proceso, como archivos .DLL y .OCX, los módulos generalmente exportaban una función llamada DllInstall() [34] que podía ser invocada por programas de instalación o invocada manualmente con utilidades como Regsvr32.exe; [35] Los archivos binarios fuera de proceso normalmente admiten los argumentos de línea de comandos /Regserver y /Unregserver que crearon o eliminaron la configuración de registro requerida. [36] Las aplicaciones COM que fallan debido a problemas de DLL Hell comúnmente se pueden reparar con RegSvr32.exe o el modificador /RegServer sin tener que volver a invocar los programas de instalación. [37]

Funcionalidad avanzada

Windows expone API que permiten que las aplicaciones en modo de usuario se registren para recibir un evento de notificación si se cambia una clave de registro particular. [38] Las API también están disponibles para permitir que las aplicaciones en modo kernel filtren y modifiquen las llamadas de registro realizadas por otras aplicaciones. [39]

Windows también admite el acceso remoto al registro de otra computadora a través de la RegConnectRegistryfunción [40] si el servicio de Registro remoto se está ejecutando, configurado correctamente y su tráfico de red no está protegido por firewall. [41]

Seguridad

Cada clave en el registro de versiones de Windows NT puede tener un descriptor de seguridad asociado . El descriptor de seguridad contiene una lista de control de acceso (ACL) que describe a qué grupos de usuarios o usuarios individuales se les conceden o deniegan permisos de acceso. El conjunto de permisos de registro incluye 10 derechos/permisos que pueden permitirse o denegarse explícitamente a un usuario o grupo de usuarios.

Al igual que con otros objetos asegurables en el sistema operativo, las entradas de control de acceso (ACE) individuales en el descriptor de seguridad pueden ser explícitas o heredadas de un objeto principal. [42]

La protección de recursos de Windows es una característica de Windows Vista y versiones posteriores de Windows que utiliza la seguridad para negar a los administradores y al sistema el acceso de ESCRITURA a algunas claves confidenciales para proteger la integridad del sistema contra malware y modificaciones accidentales. [43]

Las ACE especiales en el descriptor de seguridad también pueden implementar un control de integridad obligatorio para la clave y las subclaves del registro. Un proceso que se ejecuta en un nivel de integridad inferior no puede escribir, cambiar ni eliminar una clave/valor de registro, incluso si a la cuenta del proceso se le ha otorgado acceso a través de la ACL. Por ejemplo, Internet Explorer que se ejecuta en modo protegido puede leer claves/valores de registro de integridad media y baja del usuario que ha iniciado sesión actualmente, pero solo puede modificar claves de integridad baja. [44]

Fuera de la seguridad, las claves de registro no se pueden eliminar ni editar debido a otras causas. Las claves de registro que contienen caracteres NUL no se pueden eliminar con los editores de registro estándar y requieren una utilidad especial para eliminarlas, como RegDelNull. [45] [46]

Copias de seguridad y recuperación

Diferentes ediciones de Windows han admitido varios métodos diferentes para realizar copias de seguridad y restaurar el registro a lo largo de los años, algunos de los cuales ahora están en desuso:

Política

Política de grupo

Windows 2000 y versiones posteriores de Windows utilizan la Política de grupo para aplicar la configuración del registro a través de una extensión de cliente específica del registro en el motor de procesamiento de Política de grupo. [52] La política se puede aplicar localmente a una sola computadora usando gpedit.msco a múltiples usuarios y computadoras en un dominio usando gpmc.msc.

Sistemas heredados

Con Windows 95, Windows 98, Windows ME y Windows NT 4.0, los administradores pueden usar un archivo especial para fusionarlo en el registro, llamado archivo de política ( POLICY.POL). El archivo de política permite a los administradores evitar que los usuarios que no son administradores cambien la configuración del registro como, por ejemplo, el nivel de seguridad de Internet Explorer y el fondo de pantalla del escritorio. El archivo de política se utiliza principalmente en una empresa con una gran cantidad de computadoras donde la empresa necesita estar protegida contra usuarios deshonestos o descuidados.

La extensión predeterminada para el archivo de política es .POL. El archivo de política filtra la configuración que aplica por usuario y por grupo (un "grupo" es un conjunto definido de usuarios). Para hacer eso, el archivo de política se fusiona con el registro, evitando que los usuarios lo eludan simplemente cambiando la configuración. El archivo de política generalmente se distribuye a través de una LAN, pero se puede colocar en la computadora local.

El archivo de política se crea mediante una herramienta gratuita de Microsoft que lleva el nombre de archivo poledit.exede Windows 95/Windows 98 y con un módulo de administración de computadora para Windows NT. El editor requiere permisos administrativos para ejecutarse en sistemas que utilizan permisos. El editor también puede cambiar directamente la configuración de registro actual de la computadora local y, si el servicio de registro remoto está instalado e iniciado en otra computadora, también puede cambiar el registro en esa computadora. El editor de políticas carga las configuraciones que puede cambiar desde .ADMlos archivos, de los cuales se incluye uno, que contiene las configuraciones que proporciona el shell de Windows. El .ADMarchivo es texto sin formato y admite una fácil localización al permitir que todas las cadenas se almacenen en un solo lugar.

Virtualización

Virtualización de archivos INI

Los kernels de Windows NT admiten la redirección de API relacionadas con archivos INI a un archivo virtual en una ubicación de registro como HKEY_CURRENT_USER mediante una función llamada "InifileMapping". [53] Esta funcionalidad se introdujo para permitir que las aplicaciones heredadas escritas para versiones de 16 bits de Windows puedan ejecutarse en plataformas Windows NT en las que la carpeta Sistema ya no se considera una ubicación adecuada para la configuración o los datos específicos del usuario. Las aplicaciones de 32 bits que no cumplen con las normas también se pueden redirigir de esta manera, aunque la característica estaba originalmente pensada para aplicaciones de 16 bits.

Virtualización del registro

Windows Vista introdujo una virtualización de registro limitada, mediante la cual las aplicaciones mal escritas que no respetan el principio de privilegio mínimo y en su lugar intentan escribir datos del usuario en una ubicación del sistema de sólo lectura (como la colmena HKEY_LOCAL_MACHINE), se redirigen silenciosamente a una ubicación más apropiada. , sin cambiar la aplicación en sí.

De manera similar, la virtualización de aplicaciones redirige todas las operaciones de registro no válidas de una aplicación a una ubicación como, por ejemplo, un archivo. Usado junto con la virtualización de archivos, esto permite que las aplicaciones se ejecuten en una máquina sin estar instaladas en ella.

Los procesos de baja integridad también pueden utilizar la virtualización del registro. Por ejemplo, Internet Explorer 7 u 8 que se ejecuta en "Modo protegido" en Windows Vista y superior redirigirá automáticamente las escrituras de registro realizadas por controles ActiveX a una ubicación protegida para frustrar algunas clases de vulnerabilidades de seguridad .

El kit de herramientas de compatibilidad de aplicaciones [54] proporciona correcciones que pueden redirigir de forma transparente las operaciones de registro HKEY_LOCAL_MACHINE o HKEY_CLASSES_ROOT a HKEY_CURRENT_USER para solucionar errores " LUA " que hacen que las aplicaciones no funcionen para usuarios con derechos insuficientes.

Desventajas

Los críticos etiquetaron el registro de Windows 95 como un punto único de falla , porque era necesaria la reinstalación del sistema operativo si el registro se corrompía. Sin embargo, Windows NT utiliza registros de transacciones para protegerse contra la corrupción durante las actualizaciones. Las versiones actuales de Windows utilizan dos niveles de archivos de registro para garantizar la integridad incluso en caso de corte de energía o eventos catastróficos similares durante las actualizaciones de la base de datos. [55] Incluso en el caso de un error no recuperable, Windows puede reparar o reinicializar las entradas de registro dañadas durante el inicio del sistema. [55]

Equivalentes y alternativas

En Windows, el uso del registro para almacenar datos de programas es una cuestión de discreción del desarrollador. Microsoft proporciona interfaces de programación para almacenar datos en archivos XML (a través de MSXML ) o archivos de bases de datos (a través de SQL Server Compact ) que los desarrolladores pueden usar en su lugar. Los desarrolladores también son libres de utilizar alternativas que no sean de Microsoft o desarrollar sus propios almacenes de datos patentados.

A diferencia del modelo de base de datos basado en binario del Registro de Windows, algunos otros sistemas operativos utilizan archivos de texto sin formato separados para la configuración del demonio y de la aplicación, pero agrupan estas configuraciones para facilitar la administración.

Ver también

Notas

  1. ^ Cuando las aplicaciones no se ejecutan porque solicitan más privilegios de los que necesitan (y se les niegan esos privilegios), esto se conoce como error de aplicación de usuario limitado (LUA).

Notas a pie de página

  1. ^ Esposito, Dino (noviembre de 2000). "Registro de Windows 2000: las funciones y API más recientes brindan la posibilidad de personalizar y ampliar sus aplicaciones". Revista MSDN . Microsoft. Archivado desde el original el 15 de abril de 2003 . Consultado el 19 de julio de 2007 .
  2. ^ abc "El registro del sistema".
  3. ^ "Componentes de la arquitectura de Windows 95". www.microsoft.com . Archivado desde el original el 7 de febrero de 2008 . Consultado el 29 de abril de 2008 . La siguiente tabla muestra otras dificultades o limitaciones causadas por el uso de archivos .INI que se superan mediante el uso del Registro.
  4. ^ Hipson 2002, pag. 5, 41–43.
  5. ^ Richter, Jeffrey; Nasarre, Christophe (2008). Windows a través de C/C++ (Quinta ed.). Prensa de Microsoft . ISBN 9780735642461. Consultado el 28 de agosto de 2021 .
  6. ^ Raymond Chen , "¿Por qué las claves de registro tienen un valor predeterminado?"
  7. ^ Hipson 2002, págs. 207, 513–514.
  8. ^ Hipson 2002, págs. 520–521.
  9. ^ Hipson 2002, pag. 7.
  10. ^ "Diseñado para la especificación de aplicaciones de Windows XP". Microsoft . 20 de agosto de 2002 . Consultado el 8 de abril de 2009 .
  11. ^ "HKEY_LOCAL_MACHINE". Gautama. 2009 . Consultado el 8 de abril de 2009 .
  12. ^ "Claves de registro afectadas por WOW64 (Windows)". msdn.microsoft.com . Consultado el 10 de abril de 2014 .
  13. ^ "Descripción del registro de Microsoft Windows" . Consultado el 25 de septiembre de 2008 .
  14. ^ "HKEY_CURRENT_USER". Microsoft . 2009 . Consultado el 8 de abril de 2009 .
  15. ^ "Descripción de la clave de registro HKEY_DYN_DATA en Windows 95, Windows 98 y Windows 98 SE". soporte.microsoft.com .
  16. ^ "Una mirada más cercana a HKEY_DYN_DATA". rinet.ru . Archivado desde el original el 9 de mayo de 2008.
  17. ^ "Colmenas del registro" . Consultado el 19 de julio de 2007 .
  18. ^ Chen, Raymond (8 de agosto de 2011). "¿Por qué un archivo de registro se llama" colmena "?". Lo viejo y nuevo . Consultado el 29 de julio de 2011 .
  19. ^ "Descripción general del registro de Windows NT" . Consultado el 2 de diciembre de 2011 .
  20. ^ "Dentro del Registro" . Consultado el 28 de diciembre de 2007 .
  21. ^ ab Norris, Peter (febrero de 2009). «La Estructura Interna del Registro de Windows» (PDF) . Universidad de Cranfield. Archivado desde el original (PDF) el 29 de mayo de 2009.
  22. ^ "Se muestran iconos incorrectos para archivos .ico". 15 de noviembre de 2009 . Consultado el 31 de marzo de 2012 .
  23. ^ "¿Cómo desinstalar o eliminar completamente un programa de software en Windows sin utilizar software de terceros? - AskVG". www.askvg.com . 26 de agosto de 2011.
  24. ^ "Es posible que reciba un mensaje de error" STOP 0x00000035 NO_MORE_IRP_STACK_LOCATIONES "cuando intente iniciar sesión en un dominio". 9 de octubre de 2011 . Consultado el 31 de marzo de 2012 .Esta página le indica al usuario que edite el registro al resolver el problema.
  25. ^ El cambio de nombre de clave se implementa como eliminación y adición mientras se conservan subclaves/valores, ya que las API subyacentes no admiten la función de cambio de nombre directamente
  26. ^ abcde "Cómo agregar, modificar o eliminar subclaves y valores de registro mediante un archivo .reg". soporte.microsoft.com .
  27. ^ "Aplicación de la política de grupo". Microsoft.
  28. ^ abc Payette, Bruce; Siddaway, Richard (2018). Windows PowerShell en acción (Tercera ed.). Publicaciones de Manning . págs. 7–8, 24, 608, 708–710. ISBN 9781633430297. Consultado el 28 de agosto de 2021 .
  29. ^ Warner, Timothy L. (mayo de 2015). Windows PowerShell en 24 horas, Sams Aprenda usted mismo. Editorial Sams . pag. 19, 211. ISBN 9780134049359. Consultado el 28 de agosto de 2021 .
  30. ^ "Lectura y escritura de valores de registro con Visual Basic" . Consultado el 19 de julio de 2007 .
  31. ^ "Comando REG en Windows XP" . Consultado el 19 de julio de 2007 .
  32. ^ "página del manual de registro: paquetes incluidos de Tcl". www.tcl.tk. _ Consultado el 14 de diciembre de 2017 .
  33. ^ "Biblioteca de registro sin conexión" . Consultado el 4 de junio de 2014 .
  34. ^ "Función DllInstall". Microsoft . 7 de marzo de 2012 . Consultado el 22 de marzo de 2012 .
  35. ^ "Regsvr32". Microsoft . Consultado el 22 de marzo de 2012 .
  36. ^ "Cómo: registrar servidores de automatización". Microsoft . Consultado el 22 de marzo de 2012 .
  37. ^ "Cómo volver a registrar PowerPoint 2000, PowerPoint 2003, PowerPoint 2007 y PowerPoint 2010". Microsoft . Enero de 2012 . Consultado el 22 de marzo de 2012 .
  38. ^ "Función RegNotifyChangeKeyValue". Microsoft.
  39. ^ "Registro para recibir notificaciones". Microsoft.
  40. ^ "Función RegConnectRegistry". Microsoft.
  41. ^ "Cómo gestionar el acceso remoto al Registro". Microsoft.
  42. ^ Gibson, Darril (28 de junio de 2011). "Capítulo 4: Asegurar el acceso con permisos". Seguridad de Microsoft Windows: conceptos básicos . Indianápolis, Indiana: Wiley. ISBN 978-1-118-01684-8.
  43. ^ "Compatibilidad de aplicaciones: Protección de recursos de Windows (WRP)". Microsoft . Consultado el 8 de agosto de 2012 .
  44. ^ Marc Silbey, Peter Brundrett. "Comprensión y trabajo en modo protegido de Internet Explorer" . Consultado el 8 de agosto de 2012 .
  45. ^ "RegDelNull v1.1". 1 de noviembre de 2006 . Consultado el 8 de agosto de 2012 .
  46. ^ "No se pueden eliminar determinadas claves de registro: error al eliminar la clave". 23 de marzo de 2010 . Consultado el 8 de agosto de 2012 .Página de soporte de Microsoft.
  47. ^ "Descripción de la herramienta Comprobador del registro de Windows (Scanreg.exe)".
  48. ^ "Conmutadores de línea de comandos para la herramienta Comprobador de registro".
  49. ^ "Cómo realizar una copia de seguridad, editar y restaurar el registro en Windows NT 4.0". soporte.microsoft.com .
  50. ^ "Referencia técnica del Registro: recursos relacionados". Microsoft . Consultado el 9 de septiembre de 2011 .
  51. ^ Whitwam, Ryan (julio de 2019). "Microsoft elimina las copias de seguridad automáticas del registro en Windows 10". Tecnología extrema . Consultado el 1 de julio de 2019 .
  52. ^ "Cómo funciona la política de grupo principal". Microsoft . 2 de septiembre de 2009 . Consultado el 13 de agosto de 2012 .
  53. ^ "Capítulo 26 - Archivos de inicialización y registro". Microsoft . Consultado el 3 de marzo de 2008 .
  54. ^ "Kit de herramientas de compatibilidad de aplicaciones de Microsoft 5.0". Microsoft . Consultado el 26 de julio de 2008 .
  55. ^ ab Ionescu, Mark Russinovich, David A. Solomon, Alex (2012). "Partes internas del registro". Partes internas de Windows (6ª ed.). Redmond, Washington: Microsoft Press. ISBN 978-0-7356-4873-9.{{cite book}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )
  56. ^ "Especificación del directorio base XDG". estándares.freedesktop.org .
  57. ^ "Directorios de aplicaciones". Archivado desde el original el 27 de mayo de 2012 . Consultado el 17 de mayo de 2012 .
  58. ^ ab "Estudios de casos de las 132 principales molestias con sistemas operativos distintos del sistema operativo RISC" . Consultado el 3 de abril de 2012 .Página de la web risco.com. Mencionado en los puntos 82 y 104.
  59. ^ "Recorrido por el sistema operativo RISC" . Consultado el 19 de julio de 2007 .
  60. ^ "El directorio de productos del sistema operativo RISC". 2 de noviembre de 2006. Archivado desde el original el 19 de febrero de 2007 . Consultado el 1 de abril de 2012 .
  61. ^ 3.2. Uso del Registro y Regedit (Guía del usuario de Wine)

Referencias

enlaces externos