pixel0815
Goto Top

PS Filter mit Where-Object

Hilfe !!!!!!!!!

Ich möchte mir ne Liste ziehen aus dem AD oder sonst woher und den Inhalt mit Where-Object filtern.
Das klappt einfach nicht so wie ich das möchte.
Habe auch schon hier geschaut

Powershell Where-Object Bedingungen

Das klappt bei mir einfach nicht.

$Computerliste = "Test123","test-CT-123","BB-XD-123","Test-MG-777"  
$BlackList = @("XD","mg","CT");  

$Computerliste | Where-Object {$_ -notcontains $Blacklist} | sort

Ergebnis: 

$Computerliste | Where-Object {$_ -notcontains $Blacklist} | sort
BB-XD-123
Test123
test-CT-123
Test-MG-777

Da sollte doch am Ende einfach nur noch Test123 übrig bleiben?
Hilfeeeeeeeeeeeeeeeeeeeeeeeeeee

Content-ID: 42390685859

Url: https://administrator.de/forum/ps-filter-mit-where-object-42390685859.html

Ausgedruckt am: 22.12.2024 um 10:12 Uhr

13034433319
Lösung 13034433319 07.06.2024 aktualisiert um 09:49:37 Uhr
Goto Top
Contains oder Notcontains vergleicht den ganzen Inhalt nicht nur Teile davon außerdem wäre die Reihenfolge um den Operator fehlerhaft...
So klappt das
$Computerliste = "Test123","test-CT-123","BB-XD-123","Test-MG-777"    
$BlackList = @("XD","mg","CT")  
$pattern = ($Blacklist | foreach {[regex]::escape($_)}) -join '|'  
$Computerliste -notmatch $pattern | sort
Gruß
pixel0815
pixel0815 07.06.2024 um 09:26:43 Uhr
Goto Top
Ich danke dir von Herzen!
13034433319
13034433319 07.06.2024 aktualisiert um 09:47:55 Uhr
Goto Top
Bitteeeeeeeeeeeeeeeeeeeee 🖖
Crusher79
Crusher79 07.06.2024 um 10:51:57 Uhr
Goto Top
Blöde Frage Leute. Ich hau auch immer mal gern daneben.

Liste und Inhalt:
$Blacklist -notcontains $_

Liste links, Abfrage rechts? Oder bin ich grad falsch?

Array Liste BEINHALTET NICHT $_

mfg Crusher
13034433319
13034433319 07.06.2024 aktualisiert um 11:17:18 Uhr
Goto Top
Zitat von @Crusher79:
Liste links, Abfrage rechts? Oder bin ich grad falsch?

Das matcht nur bei vollständiger Übereinstimmung nicht bei Teilen, er hat aber nur Teile in der Blacklist stehen keine ganzen Namen...