lunes, 22 de abril de 2013

Powershell: Crear función para leer valores del registro

Cada día buscamos más y más la forma de hacer desatendida nuestras tareas cotidianas relacionadas con administración y gestión de sistemas, por ello hoy os mostraré la forma de leer un valor en una clave de registro mediante un script en Powershell.

Una vez dentro de Powershell tendremos que tener claro que hará nuestra función, ¿Lo sabemos? Sí, se encargará de leer el parametro "path" que pasaremos de forma manual si se han de consultar varios, o por el contrario lo pasaremos incluido en nuestro script, leyendo de esta manera la misma clave siempre que se ejecute el mismo.

Manos a la obra ...

1. Definir el nombre de nuestra función y el parámetro que le pasaremos, haciendo obligatorio dicho parámetro (en nuestro caso el path del registro) para hacer funcionar el script.


Function leer-registro #declaramos la función leer-registro
{
Param([Parameter(Mandatory=$true)][string]$path)


2. Marcamos como activa la ubicación defininada por la variable "$path"

Push-Location
Set-Location -Path $path

3. Leemos la "key" dentro de la ruta definida

Get-Item . |
Select-Object -ExpandProperty property |

4. Leemos los valores que se encuentran dentro de la key seleccionada.

ForEach-Object {
New-Object psobject -Property @{"property"=$_;
"Value" = (Get-ItemProperty -Path . -Name $_).$_}}
Pop-Location

}#Cerramos la función leer-registro


El resultado final de nuestro script sería el siguiente:

Function leer-registro #declaramos la función leer-registro
{
Param([Parameter(Mandatory=$true)][string]$path)

Push-Location
Set-Location -Path $path
Get-Item . |
Select-Object -ExpandProperty property |
ForEach-Object {
New-Object psobject -Property @{"property"=$_;
"Value" = (Get-ItemProperty -Path . -Name $_).$_}}
Pop-Location

}#Cerramos la función leer-registro

Para ejecutarlo, abriremos una consola Powershell y ejecutaremos el comando (ejemplo):




leer-registro HKLM:\SOFTWARE\winrar


Gracias a este sencillo ganaremos mucho tiempo a la hora de leer multiples claves de registro, esta función se podría incluir dentro de otro script para realizar consultas a varias claves a la vez, o que generara un reporte con toda la información obtenida.

No hay comentarios:

Publicar un comentario

Google+ Google+