Manchmal hat man den Bedarf, eine Objektliste gegen eine Liste von Ausdrücken zu filtern und dabei Wildcards zu verwenden, z.B. in dieser Form
[Alle Tiere – „Eisvogel“,“Hauspferd“,“Lisztaffe“,“Bergziege“] | Where-Object Name -in „*affe“,“*vogel“
Where-Object kann dabei ENTWEDER mit -in eine Liste verwenden ODER mit * Wildcards verwenden – beides zusammen geht (erstmal) nicht. Aber es gibt eine Lösung: Man muss die Liste der Wildcards zuerst expandieren, um die realen Werte dort drauf stehen zu haben. Das kann man z.B. so machen (am Beispiel von Verteilern):
1 2 3 4 5 6 | $items = Get-DistributionGroup # Die Objektliste $search = @("*Finanzen*","*Einkauf*","*IT*") # Die Wildcard-Ausdrücke, nach denen gesucht wird $result = $search | Select-Object @{ Name="ExpandedItem"; Expression={ $items -Like $_ }} | Select-Object -ExpandProperty ExpandedItem -Unique $result |
ich hoffe, das hilft dem Einen oder Anderen…
Schreibe einen Kommentar...