V prostředí powershell, je možné získat řadu RegistryKeys
takto:
$hkeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Když jsem zkontrolujte, zda není na první prvek tohoto pole, to je to, co jsem dostal:
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
zdálo trochu divné, tak jsem se podíval dál do toho:
> $hkeys[0].property.gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
Prvky v property
atribut, protože jsou odděleny dvojtečkou :
nezdálo jako struny, a tak jsem se podíval trochu dál, ale zjistil, že jsou opravdu String
objekty:
> $hkeys[0].property[0].gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Od té doby se zdá být string objekty, snažil jsem se echo první. Nicméně, to pouze ukazuje první část řetězce a ne část za dvojtečkou:
> $hkeys[0].property[0]
DisplayName
Mám pocit, že je něco zásadního, což nechápu. Jsou prvky pole opravdu String
objekty? Pokud ano, proč nechce části po dvojtečka se objeví?