
5474149378
23.01.2023 um 08:36:33 Uhr
PowerShell contains Array
Moin zusammen,
ich weiß nicht, ob ich gerade einen Denkfehler habe....
Ich habe folgendes Problem:
Wenn ich den IF-Teil mit $WSUScomputer.FullDomainName.Contains($adcomputer.DNSHostName.ToLower()) ersetze funktioniert es wie gewünscht. Auch wenn ich bsp. den letzten Wert direkt mit dem Wert des Arrays (also $WSUScomputer.FullDomainName[35]) vergleiche, funktioniert es ohne Probleme.
Auch wenn ich jetzt eine Lösung gefunden habe, würde ich gern wissen warum das -contains nicht funktioniert.
ich weiß nicht, ob ich gerade einen Denkfehler habe....
Ich habe folgendes Problem:
$ADcomputers = Get-ADComputer -Filter 'OperatingSystem -like "*server*"
$WSUScomputers = Get-WsusComputer -UpdateServer $WSUS | ?{($_.RequestedTargetGroupName -match $group)}
Foreach($adcomputer in $ADcomputers){
if($adcomputer.DNSHostName.ToLower() -contains $WSUScomputer.FullDomainName){
}else{
$adcomputer.DNSHostName.ToLower()
}
}
Auch wenn ich jetzt eine Lösung gefunden habe, würde ich gern wissen warum das -contains nicht funktioniert.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5572929050
Url: https://administrator.de/forum/powershell-contains-array-5572929050.html
Ausgedruckt am: 23.04.2025 um 03:04 Uhr
4 Kommentare
Neuester Kommentar

Moin,
String.Contains() und -contains sind zwei unterschiedliche Dinge.
Die .NET-Methode String.Contains() prüft ob ein String in einem anderen String vorkommt
der Powershell-Vergleichsoperator -contains prüft ob ein Objekt in einer Sammlung von Objekten enthalten ist
In deinem Fall könntest du statt -contains vermutlich -match verwenden.
String.Contains()
Powershell -contains
Powershell -match
String.Contains() und -contains sind zwei unterschiedliche Dinge.
Die .NET-Methode String.Contains() prüft ob ein String in einem anderen String vorkommt
der Powershell-Vergleichsoperator -contains prüft ob ein Objekt in einer Sammlung von Objekten enthalten ist
In deinem Fall könntest du statt -contains vermutlich -match verwenden.
String.Contains()
Powershell -contains
Powershell -match