En este artículo, aprende cómo usar PowerShell para obtener un valor del registro y consultar entradas en un registro utilizando una variedad de métodos.
¡Empecemos!
Prerrequisitos
Todos los ejemplos en este artículo se demostrarán utilizando PowerShell 7.1, que en el momento en que se publicó este artículo, es la última versión. También puedes usar Windows PowerShell 5.1 si lo prefieres. También deberías tener cierto entendimiento básico de Unidades de PowerShell.
Algunos ejemplos pueden no funcionar sin privilegios de administrador.
Obteniendo Claves y Valores del Registro con Get-ChildItem
Una de las formas más sencillas de encontrar claves y valores de registro es utilizando el cmdlet Get-ChildItem
. Esto utiliza PowerShell para obtener un valor del registro y más al enumerar elementos en las unidades de PowerShell. En este caso, esa unidad de PowerShell es la unidad HKLM encontrada ejecutando Get-PSDrive
.
Ejecuta el siguiente comando en una consola de PowerShell.
En la captura de pantalla a continuación, puedes ver:
- La ruta completa de la clave de registro WindowsUpdate
- La clave AU
- La lista de entradas de registro en la clave AU con los valores correspondientes

Un punto rápido con respecto a la captura de pantalla anterior. Puede notar que la salida es un poco confusa. Normalmente, la salida en la consola de PowerShell representa propiedades de un objeto. `Get-ChildItem` se comporta de manera diferente en este caso porque técnicamente este objeto no tiene propiedades. Se ejecutan comandos adicionales en segundo plano para producir el formato de visualización que ve.
Relacionado: Cómo verificar si hay un reinicio pendiente en el Registro de Windows
Obteniendo valores del Registro con `Get-ItemProperty`
Continuando con la misma clave de registro como antes, usemos el cmdlet `Get-ItemProperty` esta vez y hagamos que la salida sea más legible.
Usar `Get-ItemProperty` es lo mejor para obtener una propiedad del ítem y obtener claves y sus valores dentro del registro. Ejecute el siguiente comando:
En la captura de pantalla a continuación, verá una lista de las claves y valores:
- Para el contenedor de registro AU
- Propiedades relacionadas con PowerShell que comienzan todas con PS

Como alternativa, también puede especificar la ruta del ítem del registro para obtener la misma salida solo ligeramente más rápido usando .NET. El siguiente comando está utilizando la Clase de Registro de .NET en PowerShell para obtener un valor del registro:
Obteniendo valores del Registro con `Get-ItemPropertyValue`
Ahora es el momento de mirar los valores clave. Utilizando el cmdlet Get-ItemPropertyValue
con el mismo contenedor de registro que antes, veamos el valor para la clave NoAutoUpdate
. Ejecute el siguiente comando de PowerShell:
Usando Get-ItemPropertyValue
, obtendrás una salida más concisa mostrando solo el valor y no toda la otra información que viste anteriormente.

Consultar el Registro sin PS Drives
A lo largo de este tutorial, has estado utilizando PS Drives de PowerShell para trabajar con el registro. Hacerlo de esta manera no es la única forma; también puedes aprovechar .NET y obtener información del registro a través de clases de .NET también!
Por ejemplo, quizás necesites usar PowerShell para obtener un valor del registro de HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ : AutoUpate en un equipo remoto.
Puedes hacerlo con .NET de la siguiente manera:
- Abriendo la conexión del registro en el equipo remoto.
2. Abriendo la clave de registro específica que estás buscando.
3. Utilizando el método GetValue()
para consultar el valor del valor del registro dentro de la clave del registro.
Usar .NET en lugar de PS Drives de PowerShell es un poco más rápido y es una forma fácil de conectar y usar PowerShell para consultar claves y valores de registro en equipos remotos.
Probar Valores de Registro con Test-Path
A veces solo necesitas validar si un valor del registro está presente. La forma de hacerlo es con el cmdlet Test-Path
.
Continuando con el contenedor WindowsUpdate, prueba si el contenedor AU está presente ejecutando el siguiente comando PowerShell:
Si el resultado es True, la clave o contenedor existe. Pero, ¿qué pasa si necesitas verificar si un valor o entrada existe? Construyamos una función personalizada para esta prueba:
Usando la función personalizada, ingresas una ruta y nombre de la clave o contenedor, y el valor que estás buscando, y la función personalizada devolverá True o False (3) como se muestra en la captura de pantalla a continuación:

Pasos siguientes
Ten en cuenta que puedes usar Get-ChildItem
, Get-ItemProperty
y Get-ItemPropertyValue
en PowerShell para obtener un valor y claves del registro, ¿qué más puedes hacer?
Si quieres aprender más sobre cómo trabajar con el registro con PowerShell, consulta el artículo de Microsoft Docs titulado ‘Trabajar con claves del registro’. También puedes encontrar una excelente demostración de cómo establecer valores del registro en la publicación del blog de ATA Usando Active Setup: Cómo establecer un valor del registro en Todas las Colmenas de Usuarios.
Source:
https://adamtheautomator.com/powershell-to-get-a-registry-value/