În powershell, este posibil pentru a obține o serie de RegistryKeys
după cum urmează:
$hkeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Când am inspecta primul element al acestei matrice, aceasta este ceea ce primesc:
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
părea un pic ciudat, asa ca m-am uitat mai departe, în care:
> $hkeys[0].property.gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
Elementele din property
atribut, deoarece acestea sunt delimitate de un colon :
nu părea ca siruri de caractere, asa ca m-am uitat un pic mai departe, dar a constatat că acestea sunt într-adevăr String
obiecte:
> $hkeys[0].property[0].gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
De când au apărut pentru a fi obiecte de coarde, am încercat să echo primul. Cu toate acestea, se arată doar prima parte a șirului și nu de parte după colon:
> $hkeys[0].property[0]
DisplayName
Simt ca e ceva fundamental, care nu înțeleg de aici. Sunt elementele de matrice într-adevăr String
obiecte? Dacă este așa, de ce n-o parte după colonului apar?