wenn -ODER-Anweisung mit Vergleichsoperatoren funktioniert nicht wie erwartet

Ich habe den folgenden code-snippet und ich kann nicht herausfinden, warum die if funktioniert nicht.

Das Ziel ist es, eine Eingabe vom Benutzer, und wenn es eine gültige Eingabe fortsetzen. Wenn nicht, dann halten Sie Fragen, bis es einen gültigen Eintrag.

Egal welchen Wert ich eingeben auf die erste Frage (z.B. wmic), es geht IMMER in den do loop. Bei der Eingabe von, sagen wmic auf den zweiten Durchlauf bricht es die tun, wie gewünscht. Ungültige Einträge, halten Sie mich im loop, bis ich einen richtigen Eintrag.

$query_means = read-host 'Enter one of psinfo, powershell or wmic'

if ($query_means -ne "wmic" -OR $query_means -ne "psinfo" -OR $query_means -ne "powershell")
{
do {
$query_means = read-host 'Invalid entry. Enter one of psinfo, powershell or wmic'

}Until ($query_means -eq "wmic" -OR $query_means -eq "psinfo" -OR $query_means -eq "powershell")

}

Den until Vergleiche ganz gut funktioniert, zu brechen, wenn gewünscht.

InformationsquelleAutor PS_newbie | 2016-08-16

Schreibe einen Kommentar