Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
PowerShell Créer une clé de registre : Guide complet pour les administrateurs

PowerShell Créer une clé de registre : Guide complet pour les administrateurs

Sep 10, 2024

PowerShell offre une alternative plus sûre et plus efficace à regedit et reg.exe pour créer, modifier et supprimer des clés et des valeurs de registre.
Des cmdlets comme New-Item, Set-ItemProperty, Remove-Item et Rename-ItemProperty permettent l’automatisation, la gestion à distance et la gestion des erreurs. Les administrateurs doivent sauvegarder le registre, exécuter PowerShell avec des privilèges élevés et utiliser Test-Path et try/catch pour éviter les mauvaises configurations. Avec les protections adéquates, PowerShell simplifie la gestion du registre, aussi bien locale que distante.

Les administrateurs peuvent effectuer toutes les opérations typiques du registre Windows en utilisant soit l’ancienne interface regedit, soit l’utilitaire reg.exe. Mais il existe une autre option — PowerShell. PowerShell peut considérablement simplifier le travail de gestion du registre, que ce soit sur la machine locale ou à distance.

Dans cet article, nous détaillerons comment créer, gérer et supprimer des clés et leurs valeurs avec PowerShell, ainsi que des opérations avancées comme l’utilisation de PowerShell pour gérer le registre sur un ordinateur distant.


Qu’est-ce que le Registre Windows ?

Le Registre Windows est une base de données hiérarchique qui stocke les paramètres de configuration et d’autres informations critiques pour le système d’exploitation Microsoft Windows et ses applications. Par exemple, lorsqu’un programme est installé, il peut créer de nouvelles sous-clés et valeurs dans le registre pour stocker ses paramètres et son état, et il peut également modifier des entrées existantes pour s’intégrer plus étroitement à Windows.

Le noyau, les pilotes de périphériques, les services et le Security Accounts Manager peuvent tous utiliser le registre. Les paramètres spécifiques à l’utilisateur, tels que les préférences du bureau, les associations de fichiers et les paramètres d’application, sont stockés dans le registre pour offrir une expérience personnalisée à chaque compte utilisateur sur un ordinateur Windows. Le registre permet également d’accéder à des compteurs pour analyser les performances du système.

Structure du Registre

Le registre Windows possède une structure hiérarchique composée de clés racine, de sous-clés et de valeurs.

Clés racine (Hives)

Les clés racine sont les grandes catégories sous lesquelles toutes les sous-clés et valeurs sont regroupées. Elles incluent :

  • HKEY_CLASSES_ROOT (HKCR) — Contient des informations sur les applications enregistrées, telles que les associations de fichiers et les identifiants de classes d’objets OLE.
  • HKEY_CURRENT_USER (HKCU) — Stocke les paramètres propres à l’utilisateur actuellement connecté, comme les préférences du bureau et les paramètres des applications.
  • HKEY_LOCAL_MACHINE (HKLM) — Contient les informations de configuration propres à l’ordinateur, pour tous les utilisateurs. Cela inclut les paramètres matériels du système, les paramètres des logiciels installés et les politiques de sécurité.
  • HKEY_USERS (HKU) — Contient tous les profils utilisateurs actuellement chargés sur l’ordinateur. HKCU est en réalité une sous-clé de HKU, pointant vers l’utilisateur actuellement connecté.
  • HKEY_CURRENT_CONFIG (HKCC) — Lie aux paramètres du profil matériel actuel, détaillant les périphériques système et les paramètres fréquemment utilisés.
Image

Sous-clés

Chaque clé racine contient plusieurs sous-clés, qui peuvent à leur tour contenir d’autres sous-clés, créant une structure en arborescence. Les sous-clés fonctionnent comme des dossiers dans un système de fichiers, organisant les paramètres connexes en groupes.

Chaque sous-clé possède un type associé qui détermine les valeurs (données) qu’elle peut contenir. Les types disponibles incluent REG_SZ (chaîne), REG_BINARY (valeur binaire) et REG_DWORD (nombre 32 bits).

Image

Attention : sauvegardez le registre avant toute modification

Le registre Windows contient des configurations et des paramètres essentiels au bon fonctionnement du système d’exploitation et des applications. Une modification incorrecte peut entraîner une instabilité du système, des erreurs d’application, voire empêcher Windows de démarrer.

Ainsi, avant de modifier le registre avec PowerShell ou tout autre outil, créez une sauvegarde ou un point de restauration système. Cette mesure de sécurité vous permet de restaurer le système à un état antérieur en cas de problème. Les étapes de sauvegarde et de restauration du registre sont fournies plus loin dans ce guide.


PowerShell et le Registre Windows

PowerShell fournit un ensemble robuste de cmdlets pour gérer le Registre Windows, offrant une approche plus nuancée et plus puissante que les méthodes traditionnelles comme Regedit. Vous pouvez utiliser PowerShell pour créer des clés et des valeurs de registre, ainsi que pour les modifier et les supprimer. La gestion du registre à l’aide de PowerShell est particulièrement utile pour les administrateurs système et les utilisateurs avancés qui doivent gérer des configurations système ou appliquer des modifications sur plusieurs machines de manière efficace.

Avantages de PowerShell

PowerShell est un langage de script développé par Microsoft pour faciliter l’administration système, la gestion des configurations et l’automatisation des tâches. PowerShell est basé sur le framework .NET, ce qui lui permet de travailler avec des objets et des fonctions .NET. Les principaux avantages de PowerShell incluent :

  • Automatisation et scripts — PowerShell permet d’automatiser les tâches répétitives à l’aide de scripts, ce qui en fait un outil puissant pour les administrateurs système afin de gérer efficacement de nombreux systèmes.
  • Collection complète de cmdlets — PowerShell offre une vaste collection de cmdlets prédéfinis pour effectuer des tâches courantes de gestion du système, des opérations sur les fichiers à la gestion du registre et des processus.
  • Prise en charge du pipeline — Les utilisateurs peuvent transmettre la sortie d’une commande comme entrée d’une autre, facilitant les opérations complexes avec un code minimal.
  • Fonctionnalité étendue — Le langage de script PowerShell prend en charge les variables, les boucles, les conditions et des fonctions avancées comme la gestion des erreurs et le traitement parallèle.
  • Gestion locale et distante — PowerShell peut accéder aux objets Windows Management Instrumentation (WMI) et COM (Component Object Model), permettant aux utilisateurs d’exécuter une large gamme de tâches administratives localement ou à distance.
  • Interface extensible — Les utilisateurs et les fournisseurs tiers peuvent étendre les capacités de PowerShell en développant des cmdlets, modules, fonctions et scripts personnalisés.

Rôle des fournisseurs PowerShell dans la gestion du registre

Les fournisseurs PowerShell permettent aux utilisateurs d’accéder et de gérer le Registre Windows et d’autres magasins de données (tels que le système de fichiers et le magasin de certificats) de manière uniforme. Ils rendent les données stockées dans différents formats accessibles de façon cohérente à l’aide de commandes PowerShell standard.

Les fournisseurs permettent de parcourir la structure hiérarchique du registre, de la même manière que vous naviguez dans les répertoires et fichiers d’un système de fichiers. Vous pouvez entrer et sortir des clés de registre comme s’il s’agissait de dossiers, ce qui rend l’exploration et la gestion du registre intuitives.

Cmdlets pour la gestion du registre PowerShell

PowerShell fournit une suite de cmdlets conçus pour la gestion du Registre Windows. Par exemple, vous pouvez créer une clé de registre dans PowerShell à l’aide du cmdlet New-Item. Voici un aperçu de certains des principaux cmdlets utilisés pour la gestion du registre :

  • Get-Item — Récupère les clés de registre à un emplacement spécifié.
  • Set-Item — Modifie la valeur d’une clé de registre.
  • New-Item — Ajoute une clé de registre avec PowerShell.
  • Remove-Item — Supprime les clés de registre et leurs valeurs.
  • Get-ItemProperty — Récupère les propriétés (valeurs) d’une clé de registre.
  • Remove-ItemProperty — Supprime une valeur d’une clé de registre.
  • Set-ItemProperty — Modifie la valeur d’une clé de registre.
  • Get-ChildItem — Liste les sous-clés et les valeurs d’une clé de registre.

Configuration de PowerShell pour la gestion du registre

Exécution de PowerShell en tant qu’administrateur

Dans de nombreux cas, la modification du registre nécessite des privilèges élevés, il faut donc exécuter PowerShell en mode élevé. Cela s’appelle également “exécuter en tant qu’administrateur”. Par exemple, les privilèges administratifs sont nécessaires pour modifier des fichiers système, des paramètres du registre ou des configurations qui affectent tous les utilisateurs d’un ordinateur, ainsi que pour les tâches de configuration réseau telles que définir des règles de pare-feu ou configurer des adresses IP. Les droits administratifs sont également souvent nécessaires pour changer les politiques d’exécution de scripts, et pour installer, mettre à jour ou supprimer des logiciels sur les systèmes Windows.

Pour ouvrir PowerShell en mode élevé, suivez les étapes ci-dessous. Si le Contrôle de compte utilisateur (UAC) vous y invite, cliquez sur Oui pour continuer.

Windows 10 et Windows 11

  1. Cliquez sur le menu Démarrer (icône Windows) et tapez PowerShell dans la barre de recherche.
  2. Faites un clic droit sur Windows PowerShell ou Windows Terminal (selon votre configuration) dans les résultats de recherche.
  3. Sélectionnez Exécuter en tant qu’administrateur dans le menu contextuel.

Windows Server

  1. Ouvrez le menu Démarrer et accédez à Windows PowerShell ou Windows Terminal dans la liste des programmes.
  2. Faites un clic droit sur Windows PowerShell ou Windows Terminal.
  3. Sélectionnez Exécuter en tant qu’administrateur.

Obtenir des informations sur les fournisseurs et les lecteurs

Pour récupérer des informations sur les fournisseurs et les lecteurs disponibles dans la session PowerShell actuelle, utilisez les cmdlets Get-PSProvider et Get-PSDrive.

Récupérer des informations sur les fournisseurs disponibles (Get-PSProvider)

Pour récupérer des informations sur les fournisseurs PowerShell disponibles à l’utilisation, y compris les détails concernant les fonctionnalités qu’ils prennent en charge et les lecteurs auxquels ils sont associés, utilisez le cmdlet suivant :

Get-PSProvider

Image

Récupérer des informations sur les lecteurs disponibles (Get-PSDrive)

Les lecteurs dans PowerShell sont des représentations logiques de différents magasins de données, comme les systèmes de fichiers, les clés de registre, les certificats et les variables d’environnement. Pour obtenir des informations sur les lecteurs disponibles dans la session PowerShell actuelle, utilisez le cmdlet Get-PSDrive. Pour les lecteurs de stockage (comme les disques système), il affiche également l’espace utilisé et libre.

Get-PSDrive

Image

Création, gestion et modification des clés de registre avec PowerShell

Création de nouvelles clés de registre (New-Item)

Vous pouvez utiliser le cmdlet New-Item dans PowerShell pour créer des clés de registre :

      New-Item -Path "HKCU:\Software\MyNewApplication"
      
Image

Après avoir créé une clé de registre avec PowerShell, vous pouvez vérifier la réussite de l’opération en utilisant Get-Item.

      Get-Item -Path "HKCU:\Software\MyNewApplication"
      
Image

Vérification de l’existence d’une clé de registre (Test-Path)

Pour éviter les erreurs et les résultats indésirables, il est recommandé d’exécuter Test-Path afin de vérifier l’existence des clés de registre, des fichiers et d’autres éléments avant d’exécuter des commandes qui les affectent. Voici un exemple simple :

      Test-Path -Path "HKCU:\Software\MyNewApplication"
      
Image

Et voici un script plus complexe qui fournit un résultat plus détaillé :

      # Check if HKCU\Software\MyNewApplication exists

if (Test-Path -Path “HKCU:\Software\MyNewApplication”) {

    Write-Output "Registry key 'HKCU:\Software\MyNewApplication' exists."

} else {

    Write-Output "Registry key 'HKCU:\Software\MyNewApplication' does not exist."

}
      
Image

Gestion des erreurs courantes

Lors de la gestion du registre Windows avec PowerShell, vous pouvez rencontrer des erreurs. Voici quelques-uns des problèmes les plus fréquents et comment les résoudre :

  • Access denied (Accès refusé) — Cette erreur se produit souvent lorsque vous essayez de modifier le registre sans autorisations suffisantes. Pour les opérations nécessitant des privilèges élevés, cliquez avec le bouton droit sur PowerShell et sélectionnez Exécuter en tant qu’administrateur.
  • Incorrect path (Chemin incorrect) — Les fautes de frappe ou les spécifications de chemin erronées peuvent entraîner des erreurs. Vérifiez toujours attentivement le chemin du registre que vous essayez d’accéder ou de modifier. Rappelez-vous que les chemins du registre sont sensibles à la casse.
  • Cmdlet not recognized (Cmdlet non reconnu) — Cette erreur peut indiquer que vous utilisez une version obsolète de PowerShell qui ne prend pas en charge les cmdlets de gestion du registre. Mettez à jour PowerShell vers la dernière version disponible pour votre système.
  • Script execution disabled (Exécution des scripts désactivée) — PowerShell peut être configuré pour empêcher l’exécution des scripts pour des raisons de sécurité. Pour modifier cela, vous pouvez exécuter Set-ExecutionPolicy RemoteSigned (ou spécifiez un autre niveau de politique adapté à vos exigences de sécurité). Soyez prudent, car la modification de la politique d’exécution peut exposer votre système à des risques.
  • Data type errors (Erreurs de type de données) — Lorsque vous créez ou modifiez des clés de registre, assurez-vous d’utiliser le type de données approprié.Item does not exist (Élément inexistant) — Tenter d’accéder ou de modifier une clé ou une valeur de registre inexistante provoquera une erreur. Avant d’effectuer des opérations, utilisez Test-Path pour vérifier que le chemin du registre existe.
  • Improper use of wildcards (Utilisation incorrecte des caractères génériques) — Bien que les caractères génériques puissent être utiles dans certains cas, leur utilisation incorrecte peut entraîner des modifications involontaires ou des erreurs. Utilisez-les avec précaution et pensez à employer le paramètre -WhatIf pour prévisualiser les changements avant exécution.

Ajout et mise à jour des clés et valeurs du registre avec PowerShell

Ajout de nouvelles clés et valeurs (New-ItemProperty)

Vous pouvez utiliser PowerShell pour ajouter des clés de registre et leur attribuer des valeurs à l’aide du cmdlet New-ItemProperty. Voici la syntaxe de base :

      New-ItemProperty -Path "HKCU:\Software\MyNewApplication" -Name "Setting_Name" -Value "Setting_Value" -PropertyType "String"
      

Par exemple, la commande suivante créera une nouvelle clé de registre appelée NewString et lui attribuera la valeur Hello :

      New-ItemProperty -Path "HKCU:\Software\MyNewApplication" -Name "NewString" -PropertyType String -Value "Hello"
      
Image
Image

De même, pour créer une sous-clé nommée NewDWORD avec la valeur 1234, vous utiliseriez ce cmdlet :

      New-ItemProperty -Path "HKCU:\Software\MyNewApplication" -Name "NewDWORD" -PropertyType DWord -Value 1234
      
Image
Image

Mise à jour des valeurs du registre (Set-ItemProperty)

Pour modifier une clé de registre dans PowerShell, utilisez le cmdlet Set-ItemProperty :

Voici comment utiliser PowerShell pour définir des valeurs de registre :

      Set-ItemProperty -Path "HKCU:\Software\MyApplication" -Name "Setting_Name" -Value "New_Value"
      

Vous pouvez également utiliser PowerShell pour modifier des valeurs de registre. Par exemple, pour mettre à jour une valeur correspondant à un paramètre d’application stocké dans le registre, vous pouvez utiliser une commande comme celle-ci :

      Set-ItemProperty -Path "HKCU:\Software\MyNewApplication" -Name "NewString" -Value "Hello World"
      

Bien que Set-ItemProperty soit une méthode efficace pour effectuer des modifications de registre, le cmdlet ne produit aucune sortie. Pour vérifier vos modifications, utilisez Get-Item :

      Get-Item -Path "HKCU:\Software\MyNewApplication"
      
Image

Vous pouvez également vérifier vos modifications dans l’Éditeur du Registre.

Image

Par exemple, si vous souhaitez modifier la valeur d’une sous-clé nommée NewDWORD à 5678, utilisez ce cmdlet :

      Set-ItemProperty -Path "HKCU:\Software\MyNewApplication" -Name "NewDWORD" -Value 5678
      

Pour vérifier vos modifications, utilisez le cmdlet Get-Item.

      Get-Item -Path "HKCU:\Software\MyNewApplication"
      
Image

Suppression d’une valeur du registre (Remove-ItemProperty)

Pour supprimer une valeur du registre, vous pouvez utiliser le cmdlet Remove-ItemProperty :

      Remove-ItemProperty -Path "HKCU:dummyNetwrixKey" -Name "NetwrixParam"
      

Suppression d’une clé de registre (Remove-Item)

Pour supprimer une clé de registre, utilisez Remove-Item comme illustré ci-dessous. Le paramètre –Recurse supprime toutes les sous-clés sans confirmation supplémentaire.

      Remove-Item -Path "HKCU:dummyNetwrixKey" -Recurse
      

Pour supprimer toutes les sous-clés d’une clé spécifiée sans supprimer la clé elle-même, ajoutez le symbole * à la fin du chemin :

      Remove-Item -Path "HKCU:dummyNetwrixKey*" -Recurse
      

Renommer une valeur de registre (Rename-ItemProperty)

Pour renommer une valeur d’une clé de registre, utilisez le cmdlet Rename-ItemProperty.

      Rename-ItemProperty -Path "HKCU:dummyNetwrixKey" -Name "NetwrixParam" -NewName "NetwrixNewParam"
      

Renommer une clé de registre (Rename-Item)

Pour renommer une clé de registre, utilisez le cmdlet Rename-Item.

      Rename-Item -Path "HKCU:dummyNetwrixKey"  NetwrixNewKey
      

Opérations avancées sur le registre avec PowerShell

Les opérations avancées sur le registre incluent l’utilisation du PowerShell App Deployment Toolkit (PSADT) et la gestion à distance du registre avec PowerShell.

Utilisation du PowerShell App Deployment Toolkit (PSADT)

PSADT est un ensemble de scripts et d’outils pour le déploiement et la gestion d’applications. Il est couramment utilisé pour déployer des applications complexes ou personnalisées nécessitant des configurations spécifiques ou une interaction avec l’utilisateur. Il peut également être utilisé pour mettre à jour ou corriger des applications en modifiant les scripts de déploiement afin de s’adapter à de nouvelles versions ou à des changements. Les organisations utilisent aussi PSADT pour fournir des messages informatifs, des invites et des retours aux utilisateurs pendant le processus de déploiement, améliorant ainsi la compréhension et la coopération des utilisateurs.

Principales fonctionnalités et avantages :

  • Scripts de déploiement — Ces scripts permettent de définir et de personnaliser le processus d’installation des applications. Ils peuvent gérer des tâches telles que la vérification des prérequis, l’installation du logiciel, la configuration des paramètres et le nettoyage après l’installation.
  • Interface utilisateur personnalisable — L’affichage d’invites, de notifications et de barres de progression pendant le déploiement aide à informer les utilisateurs et à gérer leur interaction.
  • Fonctionnalités de journalisation — L’enregistrement des activités et des erreurs de déploiement est essentiel pour le dépannage et les audits.
  • Tâches pré et post-installation — Vous pouvez définir des tâches pour préparer le système avant l’installation et effectuer une configuration ou un nettoyage supplémentaire après.
  • Paramètres de configuration pour les applications — Vous pouvez définir des paramètres appliqués dynamiquement pendant le déploiement, ce qui permet d’adapter le processus à différents environnements.
  • Installation silencieuse d’applications — Vous pouvez exécuter des déploiements sans interaction utilisateur si nécessaire.

Gestion du registre à distance (Enter-PSSession et Invoke-Command)

Les administrateurs peuvent utiliser PowerShell pour accéder, parcourir et modifier le registre des ordinateurs distants au sein d’un réseau. Soyez prudent lors de la modification d’un registre à distance avec PowerShell, car des changements incorrects peuvent provoquer une instabilité du système ou des vulnérabilités de sécurité. Assurez-vous également de disposer des privilèges administratifs nécessaires et que les pare-feu et les paramètres réseau autorisent l’accès distant.

Commandes principales PowerShell pour la gestion du registre à distance :

  • Enter-PSSession permet d’établir une session interactive avec un seul ordinateur distant, et Exit-PSSession permet de terminer la session.
  • Invoke-Command permet d’envoyer une seule commande ou un bloc de script à un ou plusieurs ordinateurs distants. Par exemple, il peut appliquer efficacement la même modification du registre sur plusieurs systèmes.

Enter-PSSession et Exit-PSSession

Enter-PSSession est utilisé pour démarrer une session interactive avec un ordinateur distant. C’est particulièrement utile lorsque plusieurs commandes doivent être exécutées de manière interactive. Une fois connecté, vous pouvez effectuer des opérations sur le registre comme si vous étiez directement connecté au système distant.

Avant d’utiliser Enter-PSSession, assurez-vous que la gestion à distance PowerShell est activée sur la machine distante avec cette commande :

      Enable-PSRemoting
      

Pour démarrer une session interactive :

      Enter-PSSession -ComputerName Windows11 -Credential Get-Credential
      
Image

Pour vérifier la connexion, regardez le nom de l’ordinateur distant avant l’invite de commande.

Image

Une fois connecté, vous pouvez utiliser les cmdlets standard de PowerShell pour gérer le registre interactivement. Par exemple, pour obtenir une valeur du registre depuis l’ordinateur distant :

      Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\BitLocker"
      
Image

Pour quitter la session distante et revenir à l’invite PowerShell locale :

Invoke-Command

Invoke-Command permet d’exécuter des commandes sur un ou plusieurs ordinateurs distants. Il est utile pour les tâches non interactives ou lorsque vous devez exécuter des commandes depuis un script. Par exemple, pour obtenir une valeur du registre d’un ordinateur distant :

      Invoke-Command -ComputerName Windows11 -Credential Get-Credential -ScriptBlock {

    Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\BitLocker"

}

You can specify multiple computers as follows:

-ComputerName 'Computer1', 'Computer2'
      

Lorsque vous exécutez Invoke-Command, il vous sera demandé de fournir les informations d’identification de l’ordinateur distant.

Image

Après validation, le résultat du script s’affichera dans la console.

Image

Considérations de sécurité pour la gestion du registre à distance

Lorsque vous modifiez le registre à distance avec PowerShell, suivez ces bonnes pratiques :

  • Utilisez des méthodes d’authentification sécurisées.
  • Assurez-vous que toutes les communications sont chiffrées en utilisant le paramètre -UseSSL avec Enter-PSSession ou Invoke-Command.
  • Activez la gestion à distance PowerShell avec précaution, en limitant l’accès aux hôtes et réseaux de confiance.
  • Accordez uniquement les autorisations minimales nécessaires.
  • Définissez une stratégie d’exécution restrictive pour empêcher les scripts non autorisés.
  • Limitez l’accès avec Just Enough Administration (JEA).
  • Configurez des règles de pare-feu pour restreindre l’accès aux ports de gestion à distance (5985 pour HTTP, 5986 pour HTTPS).

Bonnes pratiques pour la gestion du registre

  • Comprendre la structure du registre. Familiarisez-vous avec HKEY_LOCAL_MACHINE et HKEY_CURRENT_USER.
  • Sauvegardez le registre avant de le modifier.
  • Exécutez PowerShell en tant qu’administrateur.
  • Soyez prudent. Des modifications incorrectes peuvent provoquer une instabilité du système.
  • Utilisez la gestion des erreurs (try/catch).
  • Évitez le codage en dur des chemins.
  • Testez dans un environnement sûr.
  • Documentez vos modifications.
  • Utilisez les transactions lorsque c’est possible avec -UseTransaction.
  • Suivez les bonnes pratiques de cybersécurité.

Sauvegarde et restauration du registre

Vous pouvez sauvegarder et restaurer le registre avec PowerShell ou regedit. Certaines modifications peuvent nécessiter un redémarrage.

Avec PowerShell :

      reg export HKCU\Software\MyNewApplication C:\registry_backup.reg
      
Image

Pour restaurer le registre à partir d’une sauvegarde, utilisez cette commande :

      reg import c:\registry_backup.reg
      
Image

Utilisation de l’Éditeur du Registre (regedit)

Pour sauvegarder une section du registre à l’aide de l’Éditeur du Registre, suivez les étapes ci-dessous :

  • Ouvrez l’Éditeur du Registre. Une méthode consiste à appuyer sur Win + R, à taper regedit et à appuyer sur Entrée. Une autre option consiste à rechercher Éditeur du Registre dans le menu Démarrer et à l’ouvrir.
  • Faites un clic droit sur la section du registre que vous souhaitez sauvegarder et sélectionnez Exporter.
Image
  • Choisissez un emplacement pour enregistrer le fichier de sauvegarde, donnez un nom significatif au fichier et assurez-vous que la plage d’exportation est définie sur Tout.
  • Cliquez sur Enregistrer pour créer le fichier .reg contenant les paramètres du registre exportés.
Image

Pour restaurer à partir d’une sauvegarde du registre, suivez ces étapes :

  • Dans l’Éditeur du Registre, cliquez sur Fichier > Importer.
Image
  • Accédez à l’emplacement où vous avez enregistré le fichier de sauvegarde .reg, sélectionnez-le et cliquez sur Ouvrir.
Image
  • Lorsque le message de confirmation apparaît, cliquez sur OK pour revenir à l’Éditeur du Registre.
Image

Conclusion

Avec PowerShell, les professionnels de l’informatique peuvent rationaliser un large éventail de tâches de gestion du registre. Mais n’oubliez pas qu’un seul changement incorrect peut entraîner l’écran bleu de la mort de votre système d’exploitation. Par conséquent, avant de modifier le registre, vous devez être absolument sûr de ce que vous changez et disposer d’une sauvegarde à jour. Vous devez également suivre attentivement toutes les modifications que vous effectuez. Netwrix Auditor for Windows Server peut vous aider : il surveille, signale et alerte sur les changements apportés au registre Windows.

FAQ

Comment puis-je ajouter une clé de registre avec PowerShell pour désactiver les services Bureau à distance (RDS) ?

Pour désactiver RDS, définissez la valeur de fDenyTSConnections sur 1. Voici un exemple de commande à utiliser :

      Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections -Value 1
      

Pourquoi est-ce que j’obtiens une invite “Type:” lorsque j’essaie d’ajouter une clé de registre avec PowerShell ?

L’invite Type: apparaît généralement parce qu’un cmdlet PowerShell a été exécuté sans tous les paramètres requis ou à cause d’une erreur de syntaxe dans la commande

Que dois-je faire si le chemin du registre n’existe pas lors de l’ajout d’un nouvel élément dans PowerShell ?

Si le chemin souhaité n’existe pas, vous pouvez le créer avec le cmdlet New-Item.

      New-Item -Path "HKCU:\Software\MyNewApplication"
      

Pour éviter ce problème, avant d’ajouter un nouvel élément avec PowerShell, assurez-vous d’utiliser Test-Path pour vérifier si le chemin du registre auquel vous essayez d’accéder existe.

      Test-Path -Path "HKCU:\Software\MyNewApplication"
      

Comment puis-je créer ou mettre à jour une valeur de registre dans PowerShell, en m’assurant que la clé est créée si elle n’existe pas ?

Le script suivant utilise les cmdlets Test-Path, New-Item et Set-ItemProperty pour vérifier si un chemin de registre existe et, si ce n’est pas le cas, le créer avant de définir ou de mettre à jour la valeur spécifiée.

      # Define registry path, key name, and value

$Path = "HKCU:\Software\MyNewApplication"

$propertyName = "Version"

$propertyValue = "829"

# Check if the registry path exists, create if not

if (-Not (Test-Path $Path)) {

    Write-Output "Registry path does not exist. Creating it"

    New-Item -Path $Path -Force | Out-Null

}

# Set registry value

Set-ItemProperty -Path $Path -Name $propertyName -Value $propertyValue
      

Quelle est la commande PowerShell équivalente à “reg add” pour ajouter ou mettre à jour une clé et une valeur de registre ?

Pour créer ou mettre à jour une clé et une valeur de registre dans PowerShell, vous pouvez utiliser le cmdlet Set-ItemProperty.

      Set-ItemProperty -Path "HKCU:\Software\MyNewApplication" –Name “Version” -Value “839”
      

Pourquoi faut-il être prudent lors de l’utilisation de -Force avec New-Item dans PowerShell ?

L’utilisation du paramètre -Force avec New-Item peut être risquée, car elle peut entraîner l’écrasement involontaire d’éléments existants ou d’autres effets inattendus.
Il est recommandé de vérifier l’existence des éléments avant d’utiliser New-Item, surtout avec l’option -Force.

Quelle commande dois-je utiliser pour ajouter une clé de registre à un chemin spécifique dans HKCU avec PowerShell ?

Pour ajouter une clé de registre à un chemin spécifique dans HKCU (HKEY_CURRENT_USER) avec PowerShell, vous pouvez utiliser le cmdlet New-Item comme montré ici.

Quelle commande dois-je utiliser pour ajouter une clé de registre à un chemin spécifique dans HKCU avec PowerShell ?
Pour ajouter une clé de registre à un chemin spécifique dans HKCU (HKEY_CURRENT_USER) avec PowerShell, vous pouvez utiliser le cmdlet New-Item comme montré ici.

      New-Item -Path "HKCU:\Software\MyNewApplication"
      

Votre tutoriel gratuit sur le Registre Windows

En savoir plus


Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Tyler Reese

Vice-président de la gestion de produit, CISSP

Avec plus de deux décennies d'expérience dans l'industrie de la sécurité logicielle, Tyler Reese connaît intimement les défis d'identité et de sécurité en rapide évolution auxquels les entreprises sont confrontées aujourd'hui. Actuellement, il occupe le poste de directeur de produit pour le portefeuille Netwrix Identity and Access Management, où ses responsabilités incluent l'évaluation des tendances du marché, la définition de la direction de la gamme de produits IAM et, en fin de compte, la satisfaction des besoins des utilisateurs finaux. Son expérience professionnelle s'étend de la consultation en IAM pour des entreprises du Fortune 500 à l'architecture d'entreprise d'une grande société de vente directe aux consommateurs. Il détient actuellement la certification CISSP.