Просматривать реестр 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