Abgesehen davon, dass es ein Befehlszeilenwerkzeug ist, ist PowerShell eine Programmiersprache von Microsoft, die es Ihnen ermöglicht, Ihre Systeme zu steuern und zu automatisieren. PowerShell verwendet eine andere Syntax für seine Operatoren als die meisten Programmiersprachen.
Aber sobald Sie die PowerShell-Operator-Syntax verstehen, werden Sie feststellen, dass sie nicht schwer zu verwenden ist. Einer der häufigsten Operatoren, den Sie in PowerShell verwenden werden, ist der „Nicht gleich“-Operator (-ne
). Dieser Operator ermöglicht es Ihnen zu überprüfen, ob zwei Werte ungleich sind.
In diesem Artikel erfahren Sie mehr über den PowerShell-Operator „Nicht gleich“ und wie Sie ihn anhand von Beispielen verwenden können.
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie ein System mit PowerShell installiert haben. Dieses Tutorial verwendet Windows 10 und PowerShell 7.
Verwendung des PowerShell-Operators „Nicht gleich“ (Grundlagen)
Zusammengefasst bestimmt der PowerShell-Operator „Nicht gleich“ (-ne
), ob der Wert zweier Objekte ungleich ist und gibt basierend auf dem Ergebnis einen booleschen Wert zurück. Wenn die Werte nicht gleich sind, ist das Ergebnis True
; andernfalls ist das Ergebnis False
.
Aber wie und wann verwenden Sie den PowerShell-Operator „Nicht gleich“? Die folgenden Abschnitte werden Ihnen die Grundlagen des PowerShell-Operators „Nicht gleich“ vermitteln.
Vergleich von Variablen
Einer der häufigsten Verwendungszwecke für den PowerShell Not Equal Operator besteht darin, zwei Variablen zu vergleichen. Angenommen, Sie haben zum Beispiel zwei Variablen, `$a` und `$b`, und möchten überprüfen, ob sie gleich sind. Die Vergleichssyntax lautet wie folgt:
Wenn die Werte von `$a` und `$b` nicht gleich sind, gibt dieser Vergleich `True` zurück. Andernfalls wird `False` zurückgegeben.
1. Führen Sie die folgenden Befehle in Ihrer PowerShell-Konsole aus, um die Variablen zu erstellen, die Sie als Beispiele verwenden werden. Die Variablen $a, $b, $c und $d repräsentieren unterschiedliche Werte. Sie können jeden dieser Werte vergleichen, um festzustellen, ob sie gleich sind oder nicht.
Sie weisen $c und $d den gleichen Wert zu, um zu sehen, wie der PowerShell Not Equal Operator mit gleichen Werten umgeht.
2. Führen Sie nun den Vergleich mit dem PowerShell Not Equal Operator durch, um festzustellen, ob die Werte von $a und $b nicht gleich sind.
Das Ergebnis ist `True`, da der Wert von $a 1 ist und $b 2 ist, was nicht gleich ist.

3. Vergleichen Sie nun die Variablen $c und $d, um festzustellen, ob sie auch nicht gleich sind.
Sie werden ein False-Ergebnis erhalten, wie im Bild unten gezeigt, da die Werte von $c und $d gleich sind (3=3).

Vergleich von Werten
Bei der Arbeit mit PowerShell sind nicht alle Objekte, die Sie vergleichen möchten, in Variablen. In diesem Fall können Sie Werte direkt mit dem PowerShell Not Equal Operator vergleichen.
Zum Beispiel vergleicht der folgende Befehl zwei Werte direkt mit dem PowerShell Not Equal Operator.
Sie werden einen True-Wert erhalten, wie unten gezeigt, da die Werte nicht gleich sind.

Andererseits gibt das Vergleichen gleicher Werte `False` zurück.

Das Entfernen eines Werts aus dem Array
Der Operator PowerShell Not Equal gibt ein Boolesches Ergebnis zurück, um anzuzeigen, ob zwei Werte ungleich sind. Neben dieser Funktion kann dieser Operator auch Elemente aus einem Array filtern.
Zum Beispiel erstellen Sie eine Variable namens $numbers
, die ein Array von Zahlen von 1 bis 5 enthält.

Führen Sie anschließend den Befehl aus, um das Array zurückzugeben, außer einer Zahl (4
).
Und jetzt können Sie sehen, dass der Befehl jede Zahl im Array zurückgegeben hat, außer der Zahl 4.

Vergleich von Zeichenfolgen
Neben Zahlen können Sie den Vergleich „PowerShell Not Equal“ auch auf Zeichenfolgen anwenden.
1. Nehmen wir zum Beispiel an, Sie haben zwei Zeichenfolgen, „Hallo“ und „Welt“. Um festzustellen, ob die beiden Zeichenfolgen ungleich sind, führen Sie den folgenden Befehl aus.
Das Ergebnis ist True, da „Hallo“ nicht gleich „Welt“ ist.

2. Vergleichen Sie nun die Zeichenfolgen „Hallo“ und „hello“, um zu sehen, ob sie gleich sind.
Dann sehen Sie, dass das Ergebnis False ist, weil „Hallo“ gleich „hello“ ist.

3. Der PowerShell-Ungleichheitsoperator ist nicht Groß-/Kleinschreibung-sensitiv. Wie Sie im vorherigen Schritt sehen können, ist „Hello“ gleich „hello“. Wenn Sie jedoch Groß-/Kleinschreibungssensitivität beim Vergleichen von Zeichenfolgenwerten benötigen, ersetzen Sie den -ne Operator durch den -cne Operator, was Case Sensitive Not Equal bedeutet.
Als Ergebnis sind „Hello“ und „hello“ gemäß PowerShell nicht mehr gleich.

Verwendung des PowerShell-Ungleichheitsoperators in der realen Welt (Beispiele)
Jetzt, da Sie das grundlegende Konzept des PowerShell-Ungleichheitsoperators verstehen, werden Ihnen die folgenden Abschnitte einige seiner Anwendungen in der realen Welt näher bringen.
Überwachung des Dienststatus
A staple of Windows systems administration is monitoring the server service status. This task involves filtering out which services whose Status Is Not Running
.
Zum Beispiel führen Sie das Get-Service
-Cmdlet aus, um alle Dienste auf dem lokalen Rechner anzuzeigen.
Sie können alle gestoppten und laufenden Dienste in der untenstehenden Ausgabe sehen.

Um jetzt nur diejenigen Dienste zu filtern, die nicht Running
sind, führen Sie den folgenden Befehl aus und wenden Sie den -ne
-Operator wie folgt an.
Wie Sie unten sehen können, zeigt die Statusspalte nur die gestoppten Dienste nach Anwendung des PowerShell-Ungleichheitsvergleichs.

Ebenso führen Sie den untenstehenden Befehl aus, um die Dienste zurückzugeben, deren Status nicht Gestoppt ist
.
Dieses Mal sehen Sie nur die Dienste, die ausgeführt werden.

Kombinieren von PowerShell „Nicht gleich“ mit dem AND
-Operator
Neben einer direkten 1:1-Vergleichsmethode können Sie die Bedingung „PowerShell Nicht gleich“ mit einem anderen Vergleichsoperator, wie z.B. -eq
(gleich), kombinieren, indem Sie den -and
-Operator verwenden. Diese Methode ist nützlich, wenn das Objekt, das Sie vergleichen, mehreren Bedingungen entsprechen muss.
Zum Beispiel beinhaltet die Überwachung von Serverdiensten in der Regel die Sicherstellung, dass alle automatischen Dienste ausgeführt werden müssen. Führen Sie den folgenden Befehl aus, um alle Dienste aufzulisten, deren Status nicht ausgeführt wird
und deren Starttyp automatisch ist
. In diesem Beispiel muss der Objektwert allen Bedingungen entsprechen.
Jetzt können Sie die automatischen Dienste sehen, die nicht ausgeführt werden, was Ihnen dabei helfen kann, zu entscheiden, welche Maßnahmen Sie ergreifen müssen.

Hinzufügen von If/Else-Bedingungslogik
Sie können den PowerShell „Nicht gleich“-Operator auch in bedingten Anweisungen wie der if/else-Anweisung verwenden.
Zum Beispiel muss ein Dienst in den meisten Fällen ausgeführt werden, wenn sein Starttypwert automatisch ist. Das folgende Skript ruft alle Dienste ab, überprüft, welche automatischen Dienste nicht ausgeführt werden, und führt die Korrekturmaßnahmen durch – um eine Meldung anzuzeigen und den Dienst zu starten.
Hinweis: Die Zeile Start-Service $_.Name ist auskommentiert und wird nicht ausgeführt. Kommentieren Sie diese Zeile aus, wenn Sie den Befehl ausführen möchten.
Kopieren Sie den untenstehenden Code und führen Sie ihn in PowerShell aus.
Das Ergebnis zeigt Ihnen, welche automatischen Dienste nicht ausgeführt werden.

Schlussfolgerung
In diesem Artikel haben Sie etwas über den PowerShell Not Equal Operator gelernt. Sie haben auch gelernt, wie Sie ihn mit Beispielen verwenden können. Zu diesem Zeitpunkt sollten Sie ein gutes Verständnis dafür haben, wie er funktioniert.
Mit diesem neu erworbenen Wissen können Sie den Not Equal Operator nun in Ihren PowerShell-Skripten verwenden, um Bedingungen zu testen. Beachten Sie jedoch, dass auch andere Vergleichsoperatoren verfügbar sind. Möglicherweise möchten Sie mehrere Operatoren kombinieren, um komplexere Bedingungen zu testen.