How To

Cómo recuperar valores del registro mediante PowerShell

February 14, 2026 4 minutos de lectura Updated: February 14, 2026

Gestionar valores del registro en Windows a menudo se siente como intentar descifrar un idioma desconocido. Algunas claves del registro se ocultan tras capas de complejidad, y saber qué ejecutar en PowerShell no siempre es suficiente, sobre todo si se solucionan problemas o se automatizan tareas. Resulta un poco molesto cuando los comandos para obtener estos valores no funcionan como se espera o generan errores que no se comprenden. Por lo tanto, esta guía es básicamente una recopilación de métodos que he encontrado útiles para extraer información del registro de forma fiable, incluso cuando las cosas parecen extrañas. Después de experimentar con estos métodos, podrá verificar, consultar o simplemente echar un vistazo a las entradas del registro sin problemas. La clave está en comprender cuándo y por qué funciona cada método, porque a veces, el comando más simple es el que falla y hay que cambiar de estrategia. Obtendrá una visión más clara de la estructura del registro, lo que puede ser útil si intenta deshabilitar elementos de inicio, comprobar estados de instalación o simplemente solucionar algún comportamiento extraño de Windows.

Cómo obtener valores de claves de registro en PowerShell sin perder la cabeza

Test-Path: ¿Existe siquiera esa ruta de registro?

Esta parte es bastante básica, pero muy útil.Test-PathEl commandlet de Windows PowerShell es como una primera comprobación para ver si existe una clave o valor de registro antes de intentar hacer algo complicado. Es genial para scripting, especialmente en la gestión de errores. Básicamente, ejecutas un comando como Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run, y si la clave está ahí, obtendrás $true. Si falta, entonces obtendrás $false. A veces, la ruta tiene espacios o caracteres extraños, así que mantén la ruta entre comillas dobles: Test-Path "HKLM:\Some\Really Weird Path". He visto casos en los que una ruta es técnicamente correcta, pero PowerShell escupe $false debido a permisos faltantes o errores tipográficos. Aun así, es un buen primer paso para evitar que tu script se bloquee o ejecutar comandos en claves inexistentes. En algunas configuraciones, es un poco inestable, pero en general, ayuda a mantener las cosas ordenadas.

Test-RegistryValue: ¿Está realmente ahí el valor que desea?

Comprobar un valor de registro específico no siempre es tan sencillo como explorar una ruta; a veces se trata de si una cadena o un número determinado está almacenado dentro de la clave. La función a continuación (que puede copiar o modificar) ayuda a verificarlo. Funciona porque intenta obtener una propiedad específica (como un elemento de inicio o un indicador de configuración) y luego indica si está presente. Es útil si, por ejemplo, intenta asegurarse de que un programa esté configurado para ejecutarse al iniciar sesión o de que algún indicador de función esté habilitado. La sintaxis es la siguiente:

Function Test-RegistryValue ($regkey, $name) { if (Get-ItemProperty -Path $regkey -Name $name -ErrorAction Ignore) { $true } else { $false } }

Entonces, reemplaza $regkeycon la ruta de tu registro, como HKCU:\Software\YourApp, y $namecon el valor específico que buscas, como Enabled. En una máquina, esto podría funcionar de inmediato; en otra, quizás necesite permisos de sudo/admin. Es un poco extraño, pero normalmente te sorprenderá la frecuencia con la que esta pequeña comprobación te ahorra muchos dolores de cabeza al crear scripts o resolver problemas.

Consulta de registro: línea de comandos y PowerShell, por fin juntos

Si los comandos de PowerShell no son suficientes o prefieres el método tradicional, reg querysigue siendo útil. Es una utilidad de línea de comandos que vuelca el contenido de una clave de registro, lo que la hace perfecta para comprobaciones rápidas o scripts desde archivos por lotes. Al ejecutar algo como reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run", se listan todos los elementos de inicio bajo esa clave. El truco está en recordar ejecutar PowerShell o el Símbolo del sistema como administrador a veces, especialmente si los permisos bloquean el acceso. También puedes integrarlo en PowerShell haciendo, Invoke-Expression 'reg query...'si es necesario. Es un método bastante tradicional, pero muy fiable para obtener una lista extensa o simplemente confirmar que una clave o valor está configurado correctamente.

Get-Item y sus amigos: el poder de PowerShell para el acceso al registro

Soy un gran fan de Get-Itemy Get-ItemProperty, porque ofrecen una forma más intuitiva de explorar el registro. Dos formas principales de extraer valores: Get-ItemPropertyValue y Get-ChildItem. Ofrecen diferentes tipos de información, pero ambas son opciones sólidas.

Get-ItemPropertyValue: fácil y preciso

Este comando es como solicitar un dato específico: “¿Cuál es el valor de esta entrada de registro?”.Si quieres el inicio de Chromium, por ejemplo, ejecutarías:

Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run -Name Chromium

Si el valor del registro existe, el comando muestra su contenido. De lo contrario, genera un error a menos que se gestione con -ErrorAction. He usado esto cuando solo quiero obtener el valor rápidamente, sin tener que buscar entre un montón de subclaves.

Get-ChildItem — Listar todo dentro de una clave de registro

Esto es útil para obtener una lista completa de subclaves o valores dentro de una ruta de registro específica. Funciona como un listado de directorios, pero para el registro. Ejecútelo así:

Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion

¿Necesitas limitarlo? Puedes añadir parámetros o filtrar con -Nameo -Exclude. Por ejemplo, para ignorar las entradas que empiezan por C: Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion -Exclude C*. Se ve un poco mejor que la salida de una consulta de registro sin procesar y, en algunos sistemas, es más fácil de interpretar.