كيفية تصفية عناصر متعددة من ريجرستري باستخدام ورير-كائن-مثل?

StackOverflow https://stackoverflow.com//questions/25021345

سؤال

أحاول الحصول على بعض العناصر من التسجيل باستخدام where-object, ، يمكنني فقط تصفية عنصر واحد ولكن متعدد items...is هناك أي شيء خاطئ مع بلدي النصي?

هذا رمز يعمل بشكل جيد لعنصر واحد فقط

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

لكن إذا قمت بتعيينه لتصفية عناصر متعددة ، فإنه يعمل ، وينتهي ، دون أي نتيجة...أي فكرة لماذا?

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

إذا كنت تستخدم

Where-Object {
$_.Displayname -like "Security*"
}

انه يعطيني فقط 3 البنود مباريات Security, ليس كل منهم, لماذا ا?

هل كانت مفيدة؟

المحلول

المسألة هي المنطق الذي وضعت في. -and يعني أن كلاهما يجب أن يكون صحيحا ، استخدم -or بدلا من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top