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):
PowerShell
$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
$resultich hoffe, das hilft dem Einen oder Anderen…