Просматривать реестр Windows можно так же, как и диск файловой системы. В Windows PowerShell кусту HKEY_LOCAL_MACHINE соответствует диск Windows PowerShell HKLM:, а кусту HKEY_CURRENT_USER соответствует диск Windows PowerShell HKCU:.

Пример.

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

При просмотре можно заметить, что вывод команды dir (Get-Childitem) для дисков реестра и дисков файловой системы отличается. Поскольку в реестре имеется несколько дисков, Windows PowerShell представляет данные по-разному. В данном случае важно знать количество подразделов и записей в разделе реестра, поэтому кроме имен подразделов и записей выводимые данные включают счетчик подразделов (SKC) и счетчик записей (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...

Способы просмотра реестра слабо различаются, пока дело не доходит до записей реестра. Записи в разделе реестра считаются свойствами родительского раздела. Таким образом, для их получения следует использовать командлет Get-ItemProperty.

Например, если нужно узнать значение политики выполнения оболочки Windows PowerShell, можно использовать командлет Get-ExecutionPolicy или перейти к записи реестра ExecutionPolicy, хранящей это значение в элементе 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




Содержание