# La base de registre Windows
<!-- element style="font-size:3em; color: #FFFFFF" -->
L'outil Windows incontournable du technicien<!-- element style="color: #bfd04d; font-size:2em;" -->
![[_img-B2-SE-WIN-Registery-4.png|200]]
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Résumé du cours
- **Objectif** : Découvrir la base de registre Windows.
- **Bloc(s)** :
- B2 - Administration des systèmes et des réseaux
- B3 - Cybersécurité des services informatiques (SISR)
- **Compétences à acquérir** :
- Vocabulaire et acronymes liés au cours.
- Expliquer ce qu'est la base de registre.
- Connaître ses composants : ruche, clés, valeurs.
- Expliquer son rôle et son fonctionnement.
- **Approche pédagogique** : Un cours théorique, puis approfondir par soi-même en TP.
---
## Sommaire
- **Durée** : environ 30 min
- Dans ce cours, nous allons aborder les différents éléments suivants :
- **Présentation** : définition, rôle et contenu.
- **Organisation** : ruches, clés, valeurs et fichiers.
- **Modification et sauvegarde** : les outils et méthodes.
- Nous finirons cette présentation par un temps d'échange participatif.
---
# Présentation du registre
<!-- element style="font-size:2.7em; color: #FFFFFF" -->
Définition et rôle<!-- element style="color: #bfd04d; font-size:2em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Qu'est-ce que la base de registre ?
- C'est une **base de données centralisée** organisée de façon hiérarchique.
- On l'appelle "**le registre**", "**la base de registre**" ou "**le registre Windows**".
- Elle stocke des informations sur :
- **La configuration du système** : configuration réseau, paramètres de démarrage, configuration des services, etc.
- **Les utilisateurs** : préférences, mots de passe chiffrés, configurations, etc.
- **Les applications** : configurations, chemins d’installation, licences, etc.
- **Les périphériques** : pilotes installés, ports utilisés, paramètres, etc.
- La base de registre est un composant essentiel de **tous les systèmes Windows.**
> [!info] À savoir !<span style="font-weight: normal; color: black"> Bien souvent, on modifie le registre sans s'en rendre compte dans l'interface graphique.</span>
note:
*Exemple d'un cas concret en entreprise : https://www.it-connect.fr/onedrive-va-synchroniser-les-comptes-personnels-et-pros-attention-a-vos-donnees.*
---
## Où est stocké le registre ?
- Les ruches peuvent être :
- Un **ensemble de fichiers physiques** stockés sur le disque local contenant les clés et les données.
- Une **vue générée dynamiquement** combinant des informations provenant de plusieurs ruches existantes.
- Les fichiers de registre sont stockés :
- Pour HKEY_CURRENT_USER (HKCU) dans `%USERPROFILE%\NTUSER.DAT`.
- Tous les autres fichiers sont dans `%SystemRoot%\System32\Config`.
---
## Les principaux fichiers
| Ruche ou clé | Fichiers | Rôle |
| --------------------------- | ------------------------------ | ------------------------------------------------------------ |
| HKEY_LOCAL_MACHINE\SAM | SAM | Stocker les données des comptes locaux. |
| HKEY_LOCAL_MACHINE\Security | SECURITY | Gérer les paramètres de sécurité locale. |
| HKEY_LOCAL_MACHINE\Software | SOFTWARE | Contenir les informations sur les logiciels. |
| HKEY_LOCAL_MACHINE\System | SYSTEM, SYSTEM.ALT | Configurer le matériel et les services système. |
| HKEY_CURRENT_CONFIG | SYSTEM, SYSTEM.ALT, NTUSER.DAT | Gérer les paramètres matériels actifs. |
| HKEY_USERS\DEFAULT | DEFAULT | Définir les paramètres par défaut des nouveaux utilisateurs. |
---
# Organisation du registre
<!-- element style="font-size:2.7em; color: #FFFFFF" -->
Ruches, clés, valeurs, stockage ! <!-- element style="color: #bfd04d; font-size:2em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Les ruches du registre
- Les ruches sont les plus hautes entités dans le registre.
- Elles regroupent un **ensemble de clés**, de **sous-clés** et de **valeurs**.
- Les ruches permettent d'**organiser la base de données** :
- **HKEY_CLASSES_ROOT (HKCR)** : associations de fichiers, gestion des bibliothèques DLL, etc.
- **HKEY_USERS (HKU)** : contient tous les profils utilisateur actifs du PC identifiés par leur SID.
- **HKEY_CURRENT_USER (HKCU)** : contient les paramètres de l'utilisateur connecté.
- **HKEY_LOCAL_MACHINE (HKLM)** : contient les paramètres globaux du système.
- **HKEY_CURRENT_CONFIG (HKCC)** : contient des informations sur le profil matériel utilisé par l’ordinateur.
![[_img-B2-SE-WIN-Registery-3.png|700]]
--
### HKEY_CLASSES_ROOT (HKCR)
- HKCR contient principalement les types de fichiers, leurs extensions et les programmes pour les ouvrir.
- C'est une vue dynamique combinant les données de :
- **`HKEY_LOCAL_MACHINE\Software\Classes`**
- **`HKEY_CURRENT_USER\Software\Classes`**.
> [!info] À savoir ! <span style="font-weight: normal; color: black"> Toute modification de HKCR peut avoir un impact sur les associations de fichiers ou le comportement des programmes.</span>
--
### HKEY_CURRENT_USER (HKCU)
- Cette ruche est **chargée dynamiquement** en fonction de l'**utilisateur actuellement connecté**.
- Cette ruche est stockée dans le fichier `%USERPROFILE%\NTUSER.DAT`.
- Elle contient les **paramètres de l'utilisateur** par exemple :
- La clé `SOFTWARE` regroupe les données des logiciels installés propres à l'utilisateur.
- L'environnement de bureau (couleurs, fonds d’écran).
- Paramètres du Panneau de configuration,etc.
> [!info] À savoir ! <span style="font-weight: normal; color: black"> La ruche HKCU est aussi une sous-clé de HKEY_USERS. </span>
![[_img-B2-SE-WIN-Registery-1.png|500]]
--
### HKEY_LOCAL_MACHINE (HKLM)
- HKLM Contient les paramètres globaux du système.
- **SAM** : Données sur les comptes utilisateur et groupes locaux.
- **SYSTEM** : Configuration matérielle et logicielle du système.
- **SOFTWARE** : Informations sur les applications installées.
- **SECURITY** : Stratégies de sécurité du système.
- Cette ruche regroupe les paramètres communs à tous les utilisateurs du système.
- Les données sont stockées physiquement dans `%SystemRoot%\System32\Config`.
> [!info] À savoir ! <span style="font-weight: normal; color: black"> Toute modification dans HKLM affecte l’ensemble du système et non un utilisateur spécifique.</span>
--
### HKEY_USERS (HKU)
- Contient tous les **profils utilisateur actifs** sur le PC, identifiés par leur **SID** (*Security Identifier*).
- Les paramètres par défaut pour tous les utilisateurs.
- Les configurations utilisateur spécifiques (via leur SID).
- Chaque sous-clé représente un utilisateur du système.
> [!info] À savoir ! <span style="font-weight: normal; color: black"> Les paramètres non spécifiques à un utilisateur se trouvent dans **`HKEY_USERS\.DEFAULT`**.</span>
![[_img-B2-SE-WIN-Registre.png|700]]
--
### HKEY_CURRENT_CONFIG (HKCC)
- Contient des informations sur le profil matériel actuellement utilisé par l’ordinateur.
- Paramètres de l'affichage (résolution, fréquence de rafraîchissement).
- Configuration des imprimantes et autres périphériques.
- C’est une vue dynamique générée à partir de **`HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current`**.
- Cette ruche n’est pas directement associée à un fichier physique.
> [!info] À savoir ! <span style="font-weight: normal; color: black"> Toute modification dans HKCC impacte les paramètres matériels en cours.</span>
---
## Les clés et les sous-clés
- Les clés et les sous-clés sont des **conteneurs à l'intérieur d'une ruche**.
- Elles fonctionnent comme un **dossier** dans une arborescence hiérarchique.
- Elles peuvent contenir des **sous-clés** ou des **valeurs**.
- Par exemple, la ruche **HKLM**, contient
- La clé `HKEY_LOCAL_MACHINE\SOFTWARE`
- La sous-clé `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft`
![[_img-B2-SE-WIN-Registery-11.png|500]]
---
## Les valeurs
- Une valeur est une **entrée spécifique associée à une clé** ou une sous-clé.
- Elle stocke des **paramètres** effectifs de configuration.
- Elles sont identifiées par un **nom**, un **type** et des **données** (contenu).
- Les différents types de valeurs sont : Chaîne (*string*), Binaire, DWORD 32 bits, QWORD 64 bits, etc.
- Une clé ou une sous-clé peut contenir plusieurs valeurs.
![[_img-B2-SE-WIN-Registery-10.png]]
---
# Modifier le registre Windows
<!-- element style="font-size:2.7em; color: #FFFFFF" -->
Risque, méthode et bonnes pratiques ! <!-- element style="color: #bfd04d; font-size:2em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Les risques associés à une modification
- Une modification incorrecte peut causer des pannes :
- **Inaccessibilité du système**, empêchant Windows de démarrer.
- **Perte de données ou corruption** de données essentielles.
- **Instabilité du système**, liée à des erreurs de configuration des valeurs ou des clés.
- La modification des autorisations d'accès peut générer des **failles de sécurité majeures**.
> [!danger] Attention ! <span style="font-weight: normal; color: black">Assurez-vous de **comprendre pleinement chaque modification** avant de l’appliquer et d'utiliser des **sources de documentation fiables**.</span>
---
## Sauvegarde et restauration du registre
- **Logiciel de sauvegarde du système** :
- Créez un point de restauration du système avant votre intervention.
- Restaurez l'ensemble du registre à partir de la sauvegarde.
- Par exemple Microsoft Learn : [Sauvegarder l'état du système](https://support.microsoft.com/fr-fr/windows/sauvegarder-votre-pc-windows-87a81f8a-78fa-456e-b521-ac0560e32338).
- **Exporter la clé vers un fichier d'inscription `.reg`** :
- `Fichier > Exporter` dans l'éditeur de registre (`regedit.exe`).
- `Fichier > Importer` ou double-cliquer sur le fichier d'inscription.
![[_img-B2-SE-WIN-Registery-2.png|800]]
---
## Les bonnes pratiques complémentaires
- **Effectuer des tests** sur une machine de **préproduction**.
- **Modifier uniquement ce qui est nécessaire** en comprenant ce que vous faites.
- **Utiliser des outils fiables** tels que les outils intégrés (`regedit`, `reg.exe`, et PowerShell).
- **Documenter les modifications** telles que les clés et les valeurs modifiées ainsi que la raison.
> [!info] À savoir !<span style="font-weight: normal; color: black"> Documenter les modifications aide à la **traçabilité** et au **diagnostic** en cas de panne.</span>
---
## Modifier le registre
- Le registre peut être modifié de manière directe via :
- **L'Éditeur de registre :** Utilisez `regedit.exe` pour naviguer et modifier les clés et valeurs du registre.
- **Des fichiers d'inscription :**
- Ce sont des fichiers avec une extension `.reg`.
- Exportés à partir de `regedit.exe` et importés en double-cliquant dessus.
- Contiennent des instructions pour ajouter, modifier ou supprimer des clés et des valeurs.
- **En ligne de commande** : avec l'utilitaire intégré `reg.exe` ou en PowerShell avec le cmdlet `New-Item`.
- Modifications indirectes via :
- **L’interface graphique Windows** quand on modifie des paramètres.
- **Les stratégies de groupe** : Gestion centralisée des modifications en entreprise.
> [!danger] Attention !<span style="font-weight: normal; color: black"> Modifier le registre représente un risque majeur. Faites une sauvegarde avant modification ! </span>
---
# Conclusion et synthèse
<!-- element style="font-size:3em;color:#FFFFFF" -->
En bref concernant ce cours…
<!-- element style="color: #bfd04d; font-size:2em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Résumé du cours
- C'est une **base de données centralisée** essentielle sous Windows.
- Elle stocke des **informations du système**, des **utilisateurs**, des **applications** et des **périphériques**.
- Elle est organisée de façon hiérarchique sous forme d'arborescence :
- **Ruches** : plus haute section du registre.
- **Clés et sous-clés** : regroupement de valeurs dans des dossiers et des sous-dossiers.
- **Valeurs** : paramètre identifié par un nom, un type (BINARY, DWORD, etc.) et un paramètre (contenu).
- Les fichiers du registre sont stockés dans :
- HKCU : stockée dans le fichier `%USERPROFILE%\NTUSER.DAT`.
- Pour tous les autres : `%SystemRoot%\System32\Config`.
- Les modifications s'effectuent principalement à l'aide de l'**éditeur de registre (regedit.exe)** ou de commandes (reg.exe et PowerShell).
- La **sauvegarde du registre** est essentielle avant sa modification.
> [!danger] Attention ! <span style="font-weight: normal; color: black">Une mauvaise manipulation du registre peut rendre le système inutilisable.</span>
---
MERCI POUR VOTRE ÉCOUTE !
## Questions / Réponses
<!-- element style="font-size:3em;color:#FFFFFF" -->
Temps d'échange participatif
<!-- element style="color: #bfd04d; font-size:2em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Références
- **IT-CONNECT** : [Qu'est-ce que le registre Windows ?](https://www.it-connect.fr/quest-ce-que-la-base-de-registre-windows/)
- **Microsoft Learn** : [Registre Windows pour les utilisateurs avancés](https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/performance/windows-registry-advanced-users).
- **Support Microsoft** : [Comment ajouter, modifier ou supprimer des clés et des valeurs de registre](https://support.microsoft.com/fr-fr/topic/comment-ajouter-modifier-ou-supprimer-des-sous-cl%C3%A9s-et-des-valeurs-de-registre-%C3%A0-l-aide-d-un-fichier-reg-9c7f37cf-a5e9-e1cd-c4fa-2a26218a1a23).