Wie filtere ich mehrere Elemente aus der Registrierung mithilfe von „whrere-object -like“?
-
21-12-2019 - |
Frage
Ich versuche, mithilfe von einige Elemente aus der Registrierung abzurufen where-object
, ich kann nur ein Element filtern, aber mehrere Elemente... Stimmt etwas mit meinem Skript nicht?
Das Der Code funktioniert nur für einen Artikel einwandfrei
Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ |
ForEach-Object {Get-ItemProperty $_.pspath} |
Where-Object {
$_.Displayname -like 'adobe air'
} |
Select-Object DisplayName,DisplayVersion |
Sort-Object DisplayName |
Out-GridView
Aber Wenn ich es so einstelle, dass mehrere Elemente gefiltert werden, läuft es und endet ohne Ergebnis ...Irgendeine Idee warum?
Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ |
ForEach-Object {Get-ItemProperty $_.pspath} |
Where-Object {
$_.Displayname -like 'adobe air' -and
$_.Displayname -like 'Java*' -and
$_.Displayname -like 'TeamViewer*'
} |
Select-Object DisplayName,DisplayVersion |
Sort-Object DisplayName |
Out-GridView
Wenn ich es benutze
Where-Object {
$_.Displayname -like "Security*"
}
Es gibt mir nur 3 Treffer Security
, nicht alle. Warum?
Lösung
Das Problem ist die Logik, die Sie eingegeben haben. -and
bedeutet, dass beide wahr sein müssen, verwenden -or
stattdessen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow