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




Inhaltsverzeichnis