Vous pouvez naviguer dans le Registre Windows en utilisant les mêmes techniques de navigation que dans le lecteur de système de fichiers. Dans Windows PowerShell, la ruche HKEY_LOCAL_MACHINE est mappée au lecteur Windows PowerShell HKLM: et HKEY_CURRENT_USER au lecteur Windows PowerShell HKCU:.
Par exemple :
PS C:\> cd hklm: PS HKLM:\> dir PS HKLM:\> dir Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE SKC VC Name Property --- -- ---- -------- 4 0 HARDWARE {} 1 0 SAM {} Get-ChildItem : Requested registry access is not allowed. At line:1 char:3 + dir <<<< 39 2 SOFTWARE {flash, (default)} 8 0 SYSTEM {} PS HKLM:\> cd system\currentcontrolset\control PS HKLM:\system\currentcontrolset\control> dir
À mesure de votre navigation, vous remarquerez que la sortie de dir (Get-Childitem) dans les lecteurs de Registre est différente de celle du système de fichiers. Étant donné que le Registre utilise des lecteurs différents, Windows PowerShell affiche une vue différente des données. Dans ce cas, il est important de connaître le nombre de sous-clés et d'entrées présentes, de sorte que la sortie comprenne un nombre de sous-clés (SKC) et un nombre d'entrées de valeurs (VC), en plus des noms des sous-clés et des entrées.
PS> cd "CurrentControlSet\Control\Session Manager" PS> dir Hive: Registry::HKEY_LOCAL_MACHINE\system\CurrentControlSet\Control\Session Manager SKC VC ChildName Property --- -- --------- -------- 0 1 AppCompatibility {AppCompatCache} 15 0 AppPatches {} 0 7 DOS Devices {AUX, MAILSLOT, NUL, PIPE, PRN, UNC, f...
Vous ne rencontrerez que peu de différences de navigation jusqu'à l'accès aux entrées du Registre. Les entrées d'une clé de Registre sont considérées comme étant les propriétés de la clé sous laquelle elles se trouvent. En tant que telles, vous pouvez les récupérer au moyen de l'applet de commande Get-ItemProperty.
Par exemple, si vous souhaitez voir la valeur de la stratégie d'exécution Windows PowerShell, vous pouvez utiliser l'applet de commande Get-ExecutionPolicy ou naviguer jusqu'à l'entrée de Registre ExecutionPolicy qui stocke la valeur dans HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell.
PS C:\> cd hklm: PS HKLM:\> cd software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell PS HKLM:\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell> dir PS HKLM:\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell> get-itemproperty -path . -name executionpolicy PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Micro soft.PowerShell PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds PSChildName : Microsoft.PowerShell PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry ExecutionPolicy : RemoteSigned