Powershell'de, bir dizi elde etmek mümkündür RegistryKeys
aşağıdaki gibi:
$hkeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Bu dizinin ilk öğesini incelediğimde, elde ettiğim şey budur:
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
biraz garip görünüyordu, bu yüzden daha fazla araştırdım:
> $hkeys[0].property.gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
İçindeki öğeler property
öznitelik, iki nokta üst üste ile sınırlandırıldığından :
dizeler gibi görünmüyordu, bu yüzden biraz daha baktım, ama gerçekten olduklarını buldum String
nesne:
> $hkeys[0].property[0].gettype
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Dize nesneleri gibi göründüklerinden, ilkini yankılamaya çalıştım. Bununla birlikte, yalnızca dizenin ilk bölümünü gösterir ve kolondan sonraki kısmı göstermez:
> $hkeys[0].property[0]
DisplayName
Burada anlamadığım temel bir şey varmış gibi hissediyorum. Dizinin öğeleri gerçekten mi String
nesneler mi? Eğer öyleyse, neden kolondan sonraki kısım ortaya çıkmıyor?