Powershell If Statement mit mehreren Bedingungen
Hallo,
ich möchte ein If Statement nutzen um zu prüfen, ob mehrere Arrays leer sind. Das scheinbare Problem ist jedoch das ein Array nach der Initialisierung und der Wertezuweisung kein Array mehr ist. Die Ausgabe von GetType lautet: "You cannot call a method on a null-valued expression."
Folgender Code wurde erstellt:
Das Problem ist, dass $a oder $b unter Umständen leer ist. Im konkreten Fall besitzt $a einige Werte, aber $d welches dann $b befüllen soll keinen einzigen. Deshalb kommt es zu der Meldung. Wie kann ich das Lösen?
Gruß
derhoeppi
ich möchte ein If Statement nutzen um zu prüfen, ob mehrere Arrays leer sind. Das scheinbare Problem ist jedoch das ein Array nach der Initialisierung und der Wertezuweisung kein Array mehr ist. Die Ausgabe von GetType lautet: "You cannot call a method on a null-valued expression."
Folgender Code wurde erstellt:
$a = @()
$b = @()
$c = @()
$d = @()
$c = Compare-Object $RefArray $DiffArray | ?{$_.SideIndicator -eq '=>'}
$d = Compare-Object $RefArray $DiffArray | ?{$_.SideIndicator -eq '<='}
$a = $c.InputObject
$b = $d.InputObject
if (!$a -or !$b) {
write-host "Ein Array ist leer"
}
else {
write-host "Tue etwas anderes"
}
Das Problem ist, dass $a oder $b unter Umständen leer ist. Im konkreten Fall besitzt $a einige Werte, aber $d welches dann $b befüllen soll keinen einzigen. Deshalb kommt es zu der Meldung. Wie kann ich das Lösen?
Gruß
derhoeppi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 282489
Url: https://administrator.de/forum/powershell-if-statement-mit-mehreren-bedingungen-282489.html
Ausgedruckt am: 13.07.2025 um 15:07 Uhr
1 Kommentar

Parameter -Passthru bei Compare-Object nutzen... und mit $a.length in der If-Bedingung prüfen ...
Gruß jodel32
Gruß jodel32