Sie können in der Registrierung mit denselben Verfahren wie im Dateisystemlaufwerk navigieren. In Windows PowerShell wird die Struktur HKEY_LOCAL_MACHINE dem Windows PowerShell-Laufwerk "HKLM:" und die Struktur HKEY_CURRENT_USER dem Windows PowerShell-Laufwerk "HKCU:" zugeordnet.
Beispiel:
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
Beim Navigieren fällt auf, dass sich die Ausgabe von dir (Get-Childitem) auf den Registrierungslaufwerken von der Ausgabe im Dateisystem unterscheidet. Da die Registrierung andere Laufwerke enthält, wird in Windows PowerShell eine andere Ansicht der Daten angezeigt. Da in diesem Fall die Anzahl der Unterschlüssel und Einträge wichtig ist, enthält die Anzeige neben den Namen der Unterschlüssel und den Einträgen auch die Anzahl der Unterschlüssel (Subkey Count, SKC) und Anzahl der Einträge (Value Count, VC).
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...
Wesentliche Unterschiede in der Navigation treten nur bei Registrierungseinträgen auf. Die Einträge in einem Registrierungsschlüssel werden als Eigenschaften des jeweiligen Schlüssels angesehen. Daher werden die Einträge mit dem Cmdlet Get-ItemProperty abgerufen.
Wenn Sie beispielsweise den Wert der Windows PowerShell-Ausführungsrichtlinie anzeigen möchten, können Sie das Cmdlet "Get-ExecutionPolicy" verwenden oder unter "HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" zum Registrierungseintrag ExecutionPolicy navigieren, in dem der Wert gespeichert ist.
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