Le Registre Windows est une base de données hiérarchique qui stocke les paramètres de configuration du système d’exploitation, des applications et du matériel. Savoir comment lire, écrire et supprimer des entrées du registre est essentiel pour l’administration système, le dépannage et la configuration des applications. Ce guide couvre plusieurs méthodes, notamment l’éditeur graphique, les outils en ligne de commande et PowerShell.
Comprendre la structure du Registre
Le registre est organisé en cinq clés racines (ruches) :
| Ruche | Abréviation | Objectif |
|---|---|---|
| HKEY_LOCAL_MACHINE | HKLM | Paramètres de l’ensemble de l’ordinateur (matériel, logiciel, système) |
| HKEY_CURRENT_USER | HKCU | Paramètres de l’utilisateur actuellement connecté |
| HKEY_CLASSES_ROOT | HKCR | Associations de fichiers et enregistrements d’objets COM |
| HKEY_USERS | HKU | Paramètres de tous les profils utilisateur sur la machine |
| HKEY_CURRENT_CONFIG | HKCC | Informations sur le profil matériel actuel |
Chaque ruche contient des clés (comme des dossiers) et des valeurs (comme des fichiers). Les valeurs ont un nom, un type et des données.
Types de valeurs courants
| Type | Description | Exemple |
|---|---|---|
| REG_SZ | Chaîne de caractères | C:\Program Files\MyApp |
| REG_DWORD | Entier 32 bits | 1 (souvent utilisé pour activer/désactiver) |
| REG_QWORD | Entier 64 bits | 4294967296 |
| REG_BINARY | Données binaires | 01 00 00 00 |
| REG_EXPAND_SZ | Chaîne extensible (variables d’environnement) | %SystemRoot%\System32 |
| REG_MULTI_SZ | Multi-chaîne (tableau de chaînes) | String1\0String2\0 |
Méthode 1 : Éditeur du Registre (Regedit)
L’Éditeur du Registre graphique est le moyen le plus courant de parcourir et modifier le registre.
Ouvrir Regedit
- Appuyez sur Win + R, tapez
regeditet appuyez sur Entrée. - Acceptez l’invite UAC (les privilèges d’administrateur sont nécessaires pour les modifications de HKLM).
Lire les valeurs
- Naviguez jusqu’à la clé souhaitée dans le volet gauche en utilisant l’arborescence.
- Les valeurs de la clé sélectionnée apparaissent dans le volet droit, affichant le nom, le type et les données.
Écrire (créer ou modifier) des valeurs
Pour créer une nouvelle valeur :
- Naviguez jusqu’à la clé cible.
- Faites un clic droit dans le volet droit et sélectionnez Nouveau > choisissez le type de valeur (Valeur chaîne, DWORD, etc.).
- Tapez le nom de la valeur et appuyez sur Entrée.
- Double-cliquez sur la nouvelle valeur pour définir ses données.
Pour modifier une valeur existante :
- Double-cliquez sur la valeur dans le volet droit.
- Modifiez les données et cliquez sur OK.
Supprimer des valeurs ou des clés
- Faites un clic droit sur la valeur ou la clé.
- Sélectionnez Supprimer.
- Confirmez la suppression.
Sauvegarder avant les modifications
Exportez toujours une sauvegarde avant d’effectuer des modifications :
- Faites un clic droit sur la clé que vous êtes sur le point de modifier.
- Sélectionnez Exporter.
- Enregistrez le fichier
.regdans un emplacement sûr.
Pour restaurer, double-cliquez sur le fichier .reg et confirmez l’importation.
Méthode 2 : Outil en ligne de commande reg.exe
La commande reg est intégrée à Windows et est utile pour le scripting et les fichiers batch.
Lire les valeurs
:: Read a specific value
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion" /v ProgramFilesDir
:: List all values under a key
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
:: Recursive query
reg query "HKLM\SOFTWARE\MyApp" /s
Écrire des valeurs
:: Create or modify a string value (REG_SZ)
reg add "HKCU\SOFTWARE\MyApp" /v SettingName /t REG_SZ /d "SettingValue" /f
:: Create a DWORD value
reg add "HKCU\SOFTWARE\MyApp" /v EnableFeature /t REG_DWORD /d 1 /f
:: Create a QWORD value
reg add "HKCU\SOFTWARE\MyApp" /v LargeNumber /t REG_QWORD /d 8589934592 /f
:: Create an expandable string value
reg add "HKLM\SOFTWARE\MyApp" /v InstallPath /t REG_EXPAND_SZ /d "%ProgramFiles%\MyApp" /f
L’option /f force l’opération sans demander de confirmation.
Supprimer des valeurs et des clés
:: Delete a specific value
reg delete "HKCU\SOFTWARE\MyApp" /v SettingName /f
:: Delete an entire key and all its values and subkeys
reg delete "HKCU\SOFTWARE\MyApp" /f
Exporter et importer
:: Export a key to a .reg file
reg export "HKCU\SOFTWARE\MyApp" C:\backup\myapp_settings.reg
:: Import a .reg file
reg import C:\backup\myapp_settings.reg
Méthode 3 : PowerShell
PowerShell offre l’approche la plus flexible pour la gestion du registre, en utilisant des cmdlets qui traitent le registre comme un système de fichiers.
Naviguer dans le Registre
PowerShell mappe les ruches du registre comme des PSDrives :
# List available registry drives
Get-PSDrive -PSProvider Registry
# Navigate to HKLM
Set-Location HKLM:\SOFTWARE\Microsoft
# List subkeys
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
Lire les valeurs
# Read all values in a key
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion"
# Read a specific value
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
# Get just the value data
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion").ProgramFilesDir
# Check if a value exists
$value = Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue
if ($value) {
Write-Host "Value exists: $($value.Setting)"
} else {
Write-Host "Value does not exist"
}
Écrire des valeurs
# Create a new key
New-Item -Path "HKCU:\SOFTWARE\MyApp" -Force
# Create or modify a string value
Set-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "AppName" -Value "My Application"
# Create a DWORD value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature" `
-Value 1 -PropertyType DWORD -Force
# Create a multi-string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "ServerList" `
-Value @("Server01", "Server02", "Server03") -PropertyType MultiString -Force
# Create a binary value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "BinaryData" `
-Value ([byte[]](0x01, 0x02, 0x03, 0x04)) -PropertyType Binary -Force
# Create an expandable string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "LogPath" `
-Value "%USERPROFILE%\Logs" -PropertyType ExpandString -Force
Supprimer des valeurs et des clés
# Delete a specific value
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature"
# Delete an entire key and all its contents
Remove-Item -Path "HKCU:\SOFTWARE\MyApp" -Recurse -Force
# Delete a value only if it exists
if (Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue) {
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting"
}
Interroger le Registre distant
# Read registry on a remote computer
Invoke-Command -ComputerName "Server01" -ScriptBlock {
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
}
Méthode 4 : Préférences de stratégie de groupe
Pour les environnements d’entreprise, les Préférences de stratégie de groupe (GPP) sont le moyen recommandé pour déployer des modifications du registre sur plusieurs ordinateurs.
Étapes
- Ouvrez la Console de gestion des stratégies de groupe et modifiez un GPO.
- Naviguez vers Configuration ordinateur (ou Configuration utilisateur) > Préférences > Paramètres Windows > Registre.
- Faites un clic droit et sélectionnez Nouveau > Élément Registre.
- Configurez l’élément du registre :
- Action : Créer, Remplacer, Mettre à jour ou Supprimer
- Ruche : Sélectionnez la clé racine
- Chemin de la clé : Entrez le chemin complet
- Nom de la valeur : Le nom de la valeur
- Type de valeur : REG_SZ, REG_DWORD, etc.
- Données de la valeur : Les données à définir
- Cliquez sur OK.
Actions expliquées
| Action | Comportement |
|---|---|
| Créer | Crée la valeur uniquement si elle n’existe pas déjà |
| Remplacer | Supprime et recrée la valeur (la supprime d’abord si elle existe, puis la crée) |
| Mettre à jour | Crée la valeur si elle n’existe pas, ou la modifie si elle existe |
| Supprimer | Supprime la valeur |
Mettre à jour est l’action la plus couramment utilisée car elle gère à la fois la création et la modification.
Chemins courants du Registre
Voici les emplacements du registre fréquemment consultés :
| Chemin | Objectif |
|---|---|
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Programmes de démarrage de l’utilisateur actuel |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Programmes de démarrage de tous les utilisateurs |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall | Liste des programmes installés |
HKLM\SYSTEM\CurrentControlSet\Services | Configuration des services Windows |
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer | Paramètres du shell de l’Explorateur |
HKLM\SOFTWARE\Policies | Paramètres de stratégie de groupe de l’ordinateur |
HKCU\SOFTWARE\Policies | Paramètres de stratégie de groupe de l’utilisateur |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion | Informations sur la version de Windows |
Bonnes pratiques de sécurité
- Sauvegardez toujours avant d’effectuer des modifications. Exportez la clé ou créez un point de restauration système.
- Ne supprimez jamais des clés que vous ne comprenez pas, en particulier sous HKLM\SYSTEM ou HKLM\SOFTWARE\Microsoft\Windows NT.
- Testez les modifications sur une seule machine avant de les déployer sur plusieurs ordinateurs via GPO.
- Utilisez les Préférences de stratégie de groupe pour le déploiement en entreprise plutôt que la modification manuelle ou les scripts d’ouverture de session.
- Documentez toutes les modifications afin qu’elles puissent être annulées si des problèmes surviennent.
- Utilisez l’option /f avec précaution avec reg.exe, car elle contourne les invites de confirmation.
Résumé
Les entrées du Registre Windows peuvent être lues, écrites et supprimées par plusieurs méthodes. Regedit fournit une interface graphique pour la navigation et l’édition interactives. L’outil en ligne de commande reg.exe est idéal pour les scripts et les fichiers batch. Les cmdlets PowerShell (Get-ItemProperty, Set-ItemProperty, New-ItemProperty, Remove-ItemProperty) offrent l’approche la plus flexible et scriptable. Pour les environnements d’entreprise, les Préférences de stratégie de groupe fournissent un déploiement centralisé et gérable des modifications du registre sur les ordinateurs joints au domaine. Quelle que soit la méthode, créez toujours une sauvegarde avant de modifier le registre et testez les modifications dans un environnement contrôlé au préalable.