W powershell można uzyskać tablicę RegistryKeys
w następujący sposób:
$hkeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Kiedy sprawdzam pierwszy element tej tablicy, oto co mam:
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Name Property
---- --------
7-Zip DisplayName : 7-Zip 21.03 beta (x64)
DisplayVersion : 21.03 beta
DisplayIcon : C:\Program Files\7-Zip\7zFM.exe
InstallLocation : C:\Program Files\7-Zip\
UninstallString : "C:\Program Files\7-Zip\Uninstall.exe"
NoModify : 1
NoRepair : 1
EstimatedSize : 5237
VersionMajor : 21
VersionMinor : 3
Publisher : Igor Pavlov
Property
wydało się trochę dziwne, więc zagłębił się w to:
> $hkeys[0].property.gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
Elementy w property
atrybut, tak jak są one oddzielone dwukropkiem :
nie wygląda na struny, więc spojrzałem trochę dalej, ale okazało się, że oni naprawdę String
Obiekty:
> $hkeys[0].property[0].gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Ponieważ wydawały się ciągami obiektami, próbowałem powtórzyć pierwszy. Jednak on pokazuje tylko pierwszą część wiersza, a nie część po przecinku:
> $hkeys[0].property[0]
DisplayName
Czuję, że jest coś ważnego, czego ja tu nie rozumiem. Czy elementy tablicy String
obiekty? Jeśli tak, to dlaczego nie pojawia się część po dwukropku?