Если вы запустите 32-разрядный экземпляр Powershell (% SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe), то поставщик реестра видит только ограниченные 32-разрядные части реестра.
**32-bit console**
PS> (dir HKLM:\SOFTWARE | measure).count - (dir HKLM:\SOFTWARE\wow6432node | measure).count
0
**64-bit console**
PS> (dir HKLM:\SOFTWARE | measure).count - (dir HKLM:\SOFTWARE\wow6432node | measure).count
-5
Есть ли способ заставить провайдера перейти в 64-битный режим? Я мог бы спуститься в [Microsoft.Win32].Net API, или, возможно, WMI, но я бы предпочел. Я использую Powershell v2 CTP3, если это вообще расширяет возможности.