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-Key: 42390685859

Url: https://administrator.de/contentid/42390685859

Printed on: June 23, 2024 at 07:06 o'clock

Member: hempel
Solution hempel Jun 07, 2024 updated at 07:49:37 (UTC)
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ß
Member: pixel0815
pixel0815 Jun 07, 2024 at 07:26:43 (UTC)
Goto Top
Ich danke dir von Herzen!
Member: hempel
hempel Jun 07, 2024 updated at 07:47:55 (UTC)
Goto Top
Bitteeeeeeeeeeeeeeeeeeeee đź––
Member: Crusher79
Crusher79 Jun 07, 2024 at 08:51:57 (UTC)
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
Member: hempel
hempel Jun 07, 2024 updated at 09:17:18 (UTC)
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...