Site icon RDR-IT

PowerShell : manipuler la base de registre

Dans ce tutoriel, on va voir comment manipuler la base registre Windows à l’aide de PowerShell pour lire, écrire et supprimer des éléments.

Se déplacer et visualiser la base de registre avec PowerShell

La premier élément que l’on va voir dans ce tutoriel va être de visualiser la base de registre et se déplacer dedans.

Pour commencer, on va utiliser la commande Get-PSDrive qui permet d’afficher les lecteurs disponibles en PowerShell.

Get-PSDrive

Comme on peut le voir sur la capture ci-dessus, les ruches HKEY_CURRENT_USER (HKCU) et HKEY_LOCAL_MACHINE (HKLM) sont disponible comme lecteur avec PowerShell.

Pour ce déplacer dans la base de registre, on va utiliser la commande Set-Location qui permet de déplacer dans les différents lecteurs, ce qui inclut les dossiers et aussi la base de registre.

Pour se placer dans la ruche HKCU_LOCAL_MACHINE entrer la commande suivante :

Set-Location HKCU:

Pour afficher le contenu, on va utiliser la commande Get-ChildItem, elle fonctionne de la même manière que pour la visualisation des dossier, on peut passer la paramètre -Path pour indiquer l’emplacement et sans le paramètre c’est l’empalement courant.

Get-ChildItem

En indiquant l’emplacement :

Get-ChildItem HKLM:

Pour récupérer visualiser les éléments d’une clé de registre:

Get-ItemProperty -Path HKCU:\RDR-IT

Pour récupérer une valeur, il faut ajouter le paramètre -Name :

Get-ItemProperty -Path HKCU:\RDR-IT\ -Name Site

Créer des éléments de registre avec PowerShell

Maintenant que l’on va vu comment naviguer dans le registre Windows à l’aide de PowerShell, on va voir comment créer des clés de registre

On va commencer par la création de clé, qui l’on pourrait comparer à un dossier, qui va ensuite contenir des éléments qui seront des clés ou des valeurs.

Créer une clé de registre

Pour la création de clé, on va utiliser New-Item qui va prendre deux paramètres :

Pour créer la Tuto-PowerShell à la racine de la ruche HKEY_CURRENT_USER :

New-Item -Path HKCU: -Name Tuto-PowerShell

Créer une valeur de registre

Pour la création d’une valeur dans le registre, on utilise New-ItemProperty qui va prendre plusieurs paramètres :

Pour créer la valeur Site qui sera de type string avec la valeur https://rdr-it.com, on va utiliser la commande suivante :

New-ItemProperty -Path HKCU:\Tuto-PowerShell -Name Site -Value "https://rdr-it.com" -PropertyType String

Vous savez comment créer des clés et des valeurs dans le registre Windows avec PowerShell.

Modifier des éléments de registre avec PowerShell

Nous allons maintenant voir comment modifier des éléments dans le registre, qui vont soit être de renommer une clé de registre ou une valeur et changer la valeur.

Renommer une clé de registre

Le renommage d’un clé de registre se fait avec la cmdlet Rename-Item.

Exemple :

Rename-Item -Path HKCU:\Tuto-PowerShell -NewName TutoPowerShell

Renommer une valeur

Pour renommer une valeur, on utilise la cmdlet Rename-ItemProperty.

Exemple :

Rename-ItemProperty -Path HKCU:\TutoPowerShell -Name Site -NewName WebSite

Changer une valeur

Le changement d’une valeur dans le registre se fait avec la Cmdlet Set-ItemProperty en lui passant 3 paramètres :

Set-ItemProperty -Path HKCU:\TutoPowerShell -Name WebSite -Value "rdr-it.com"

Supprimer des éléments de registre avec PowerShell

Maintenant on va voir comment supprimer des éléments de registre Windows avec PowerShell.

Supprimer une clé de registre

La suppression d’une clé de registre se fait avec le cmdlet Remove-Item en lui passant le chemin de la clé.

Remove-Item -Path HKCU:\TutoPowerShell

La commande demande une confirmation, il est possible d’ajouter le paramètre -Force pour passer cette confirmation dans les scripts.

La paramètre -Path peut être omis et la commande écrite comme cela : Remove-Item HKCU:\TutoPowerShell

Supprimer une valeur du registre

Pour supprimer une valeur du registre on utilise la cmdlet Remote-ItemProperty qui va prendre deux paramètres, -Path pour indiquer le chemin de la valeur et -Name qui va être le nom de la valeur.

Remove-ItemProperty -Path HKCU:\TutoPowerShell -Name Website

Là aussi vous devez confirmer l’exécution de la commande, vous pouvez utiliser le paramètre -Force pour passer la confirmation de la commande.

Compléments

Récupérer une valeur de registre dans une variable

Au début de ce tutoriel, on va vu comment afficher une valeur de registre avec la cmdlet Get-ItemProperty, dans un script, vous pourriez avoir besoin de récupérer cette valeur dans une variable afin de faire un traitement, voici comment faire.

Voici comment récupérer une valeur dans une variable :

$Var = (Get-ItemProperty "HKCU:\TutoPowerShell") | Select-Object -ExpandProperty WebSite

Ici je vais récupérer la contenu de la veleur Website qui se trouve à l’emplacement suivant HKCU:\TutoPowerShell

Récupérer les valeurs de registre d’une clé et les parcourir

Si vous souhaitez récupérer toutes les valeurs et les parcourir en PowerShell :


A travers ce tutoriel, on a vu comment manipuler la base de registre à l’aide PowerShell.

Quitter la version mobile