Afgezien van het feit dat het een opdrachtregelhulpprogramma is, is PowerShell een programmeertaal van Microsoft waarmee je jouw systemen kunt beheren en automatiseren. PowerShell maakt gebruik van een andere syntaxis voor zijn operatoren dan de meeste programmeertalen.
Maar zodra je de syntaxis van de PowerShell-operator begrijpt, zul je merken dat het niet moeilijk is om te gebruiken. Een van de meest voorkomende operatoren die je zult gebruiken in PowerShell, is de Not Equal-operator (-ne
). Met deze operator kun je testen of twee waarden niet gelijk aan elkaar zijn.
In dit artikel leer je over de PowerShell Not Equal-operator en hoe je deze met voorbeelden kunt gebruiken.
Vereisten
Deze tutorial zal een praktische demonstratie zijn. Als je wilt meedoen, zorg er dan voor dat je een systeem hebt met PowerShell geïnstalleerd. Deze tutorial gebruikt Windows 10 en PowerShell 7.
Het gebruik van de PowerShell Not Equal-operator (Basis)
In het kort bepaalt de PowerShell Not Equal-operator (-ne
) of de waarde van twee objecten niet gelijk is en retourneert op basis van het resultaat een Booleaanse waarde. Als de waarden niet gelijk zijn, is het resultaat True
; anders is het resultaat False
.
Maar hoe en wanneer gebruik je de PowerShell Not Equal-operator? De volgende secties zullen je de basisprincipes van de PowerShell Not Equal uitleggen.
Vergelijken van Variabelen
Eén van de meest voorkomende toepassingen voor de PowerShell Niet Gelijk operator is het vergelijken van twee variabelen. Stel dat je bijvoorbeeld twee variabelen hebt, `$a` en `$b`, en je wilt controleren of ze gelijk zijn. De syntaxis voor de vergelijking is als volgt:
Als de waarden van `$a` en `$b` niet gelijk zijn, zal deze vergelijking `True` retourneren. Anders zal het `False` retourneren.
1. Voer de volgende opdrachten uit in je PowerShell-console om de variabelen te maken die je als voorbeelden zult gebruiken. De variabelen $a, $b, $c en $d vertegenwoordigen verschillende waarden. Je kunt elke van deze waarden vergelijken om te testen of ze al dan niet gelijk zijn.
Wijs $c en $d dezelfde waarde toe om te zien hoe de PowerShell Niet Gelijk operator werkt met gelijke waarden.
2. Voer nu de PowerShell Niet Gelijk vergelijking uit om te zien of de waarden van $a en $b niet gelijk zijn.
Het resultaat retourneert True omdat de waarde van $a 1 is en $b 2 is, wat niet gelijk is.

3. Vergelijk nu de variabelen $c en $d om te zien of ze ook niet gelijk zijn.
Je zult een False uitvoer retourneren, zoals weergegeven in de onderstaande afbeelding, aangezien de waarden van $c en $d gelijk zijn (3=3).

Waarden Vergelijken
Bij het werken met PowerShell zijn niet alle objecten die je wilt vergelijken in variabelen. In dit geval kun je waarden rechtstreeks vergelijken met de PowerShell Niet Gelijk operator.
Bijvoorbeeld, de onderstaande opdracht vergelijkt twee waarden rechtstreeks met behulp van de PowerShell Niet Gelijk operator.
Je zult een True-waarde retourneren, zoals hieronder weergegeven, aangezien de waarden niet gelijk zijn.

Aan de andere kant zal het vergelijken van gelijke waarden False
retourneren.

Een Waarde Verwijderen uit de Array
De PowerShell Niet Gelijk operator retourneert een Booleaanse waarde om aan te geven of twee waarden niet gelijk zijn. Afgezien van die functie, kan deze operator ook items uit een array filteren.
Bijvoorbeeld, maak een variabele genaamd $numbers
die een array van getallen 1 tot 5 bevat.

Vervolgens, voer het onderstaande commando uit om de array terug te krijgen, behalve één getal (4
).
En nu kunt u zien dat het commando elk getal in de array teruggeeft, behalve het getal 4.

Strings Vergelijken
Naast getallen kunt u de PowerShell Niet Gelijk-vergelijking ook toepassen op strings.
1. Bijvoorbeeld, stel dat u twee strings heeft, “Hallo” en “Wereld”. Om te bepalen of de twee strings niet gelijk zijn, voert u het onderstaande commando uit.
Het resultaat is Waar omdat “Hallo” niet gelijk is aan “Wereld”.

2. Vergelijk nu de strings “Hallo” en “hallo” om te zien of ze gelijk zijn.
Dan ziet u dat het resultaat Fals is omdat “Hallo” gelijk is aan “hallo”.

3. De PowerShell Not Equal-operator is niet hoofdlettergevoelig. Zoals je kunt zien in de vorige stap, is “Hello” gelijk aan “hello”. Maar als je hoofdlettergevoeligheid vereist bij het vergelijken van tekenreeksen, vervang dan de -ne-operator door de -cne-operator, wat betekent dat Case Sensitive Not Equal.
Als gevolg hiervan zijn “Hello” en “hello” niet langer gelijk volgens PowerShell.

Het gebruik van de PowerShell Not Equal-operator in de echte wereld (voorbeelden)
Nu je het basisconcept van de PowerShell Not Equal-operator begrijpt, laten de volgende secties je enkele van zijn praktische toepassingen ervaren.
Services Status controleren
A staple of Windows systems administration is monitoring the server service status. This task involves filtering out which services whose Status Is Not Running
.
Bijvoorbeeld, voer het Get-Service
-cmdlet uit om alle services op de lokale machine weer te geven.
Je kunt alle gestopte en actieve services in de uitvoer hieronder zien.

Om nu alleen die services te filteren die niet Running
zijn, voer je de onderstaande opdracht uit en pas je de -ne
-operator als volgt toe.
Zoals je hieronder kunt zien, toont de Statuskolom alleen de gestopte services na het toepassen van de PowerShell Not Equal-vergelijking.

Vergelijkbaar, voer de onderstaande opdracht uit om de services terug te geven waarvan de Status Is Not Stopped
is.
Deze keer zie je alleen services die actief zijn.

Het combineren van PowerShell Niet Gelijk met de AND
Operator
Naast het maken van een 1:1 vergelijking, kunt u de PowerShell Niet Gelijk voorwaarde combineren met een andere vergelijkingsoperator, zoals -eq
(gelijk), met behulp van de -and
operator. Deze methode is handig wanneer het object dat u vergelijkt aan meerdere voorwaarden moet voldoen.
Bijvoorbeeld, het monitoren van serverdiensten omvat typisch het verzekeren dat alle Automatische diensten actief zijn. Voer de onderstaande opdracht uit om alle diensten te tonen waarvan de Status Niet Actief is
en waarvan de StartType Automatisch is
. In dit voorbeeld moet de objectwaarde aan alle voorwaarden voldoen.
Nu kunt u de automatische diensten zien die niet actief zijn, wat u kan helpen beslissen welke acties u moet ondernemen.

Het toevoegen van If/Else Voorwaardelijke Logica
U kunt ook de PowerShell Niet Gelijk operator gebruiken binnen de voorwaardelijke verklaringen, zoals de if/else verklaring.
Bijvoorbeeld, een dienst moet in de meeste gevallen actief zijn als de StartType waarde Automatisch is. Het script hieronder haalt alle diensten op, controleert welke automatische diensten niet actief zijn, en voert de corrigerende actie(s) uit – om een bericht weer te geven en de dienst te starten.
Let op: De regel Start-Service $_.Name is uitgecommentarieerd en wordt niet uitgevoerd. Verwijder het commentaar van deze regel als u de opdracht wilt uitvoeren.
Kopieer de onderstaande code en voer deze uit in PowerShell.
Het resultaat toont welke automatische services niet actief zijn.

Conclusie
In dit artikel heb je geleerd over de PowerShell Not Equal operator. Je hebt ook geleerd hoe je deze met voorbeelden kunt gebruiken. Op dit punt zou je een goed begrip moeten hebben van hoe het werkt.
Met deze nieuwe kennis kun je nu de Not Equal operator gebruiken in je PowerShell scripts om voorwaarden te testen. Houd er echter rekening mee dat er ook andere vergelijkingsoperatoren beschikbaar zijn. Je wilt mogelijk meerdere operatoren combineren om complexere voorwaarden te testen.