PowerShell Not Equal Operator: applikasjoner, eksempler
PowerShell Not Equal-operatøren sammenligner to verdier. Den kommer tilbake ekte hvis de to verdiene ikke er like.
I tillegg, hvis de sammenlignede verdiene er like, returnerer PowerShell Not Equal (NE)-operatoren Falsk .
I denne veiledningen vil du lære alt du trenger å vite om Not Equal (NE) sammenligningsoperatør . Dessuten har guiden mange ekte SysAdmin-eksempler.
La oss starte med syntaksen til Not Equal (NE) ...
Bla gjennom innleggsemner
- Syntaks for PowerShell ikke lik operatør
- Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier
- Hvordan bruke PowerShell Not Equal Operator for å teste $True eller $False
- PowerShell Not Equal Operator eksempler
- Referanser og videre lesning
Syntaks for PowerShell ikke lik operatør
Syntaksen til Not Equal (NE)-operatoren er..
|_+_|Hvis du vil sammenligne flere verdier, bruk og eller eller operatør. Syntaksen for å sammenligne flere verdier er...
|_+_| |_+_|
Den første syntaksen til PowerShell Not Equal-operatøren stilles inn på nytt ekte hvis punkt 1 er IKKE lik punkt 2 . Dessuten, i den andre syntaksen, vil kommandoen returnere ekte hvis enten av Not Equal-sammenlikningene på begge sider av Eller operatør er ekte .
I motsetning til den andre syntaksen med eller operatør, vil den tredje syntaksen – med operatoren og – bare returnere ekte hvis Not Equal-sammenlikninger på både sidene av og operatør er ekte .
Til slutt, ne-operatoren skiller ikke mellom store og små bokstaver (den skiller ikke mellom store og små bokstaver). Men hvis du vil gjøre det skille mellom store og små bokstaver, bruk syntaksen nedenfor:
|_+_|Forskjellen mellom denne siste kommandoen og den første er at c legges til etter -.
Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier
I PowerShell-skripting er det så mange grunner til at du kanskje vil teste for null eller tomme verdier. Du kan bruke ne for å teste om en verdi er null.
For å teste for nullverdien, bruk den automatiske variabelen $null. Dessuten kan du også bruke PowerShell Not Equal-operatortesten for en tom verdi i PowerShell med (2 doble anførselstegn uten noe innenfor anførselstegnene).
La oss starte med noen enkle eksempler...
Åpne en PowerShell-ledetekst og kjør kommandoen nedenfor:
|_+_|Kommandoen returnerer alle prosesser som kjører på din lokale datamaskin. Jeg har fremhevet CPU(er) kolonne.
For noen prosesser er CPU(er) kolonnen er tom (null, tom).
For å vise kun resultater der CPU(er) kolonnen IKKE er null eller tom, kjør kommandoen nedenfor:
|_+_|Hvis du nå ser på CPU(er) kolonne, er alle resultater med nullverdi eliminert!
Du kan også bruke samme prinsipp for å returnere alle tjenester på datamaskinen din med status som kjører. Her er PowerShell-kommandoen:
|_+_|Her er resultatet av kommandoen i PowerShell:
For å få resultatet til å se bedre ut, kan vi pipe outputet inn Format-tabell – Deretter ordner du overskriftene på nytt. Her er den modifiserte kommandoen:
|_+_|Og her er resultatet i PowerShell...
Hvordan bruke PowerShell Not Equal Operator for å teste $True eller $False
Det er kanskje ikke åpenbart, men hver gang du bruker PowerShell Not Equal-operatoren i en kommando, returnerer den en $True eller $False. Verdien $True eller $False brukes deretter til å utføre ytterligere kommandoer.
$True, $False er automatiske variabler som betyr henholdsvis True og False.Som et eksempel, i Få-prosess eksempel i den siste delen $_.CPU -ne $null uttalelse innenfor Hvor-objekt bare returnerte alle prosesser som returnerte ekte for uttalelsen, $_.CPU -ne $null .
|_+_|Videre alle prosesser som returnerte Falsk for, $_.CPU -ne $null erklæringen ble ikke returnert.
For å kjøre poenget mitt hjem, kjør kommandoen nedenfor i PowerShell:
|_+_|Åpenbart er 1 IKKE lik 2, så vi forventer at resultatet returnerer True. Og her er resultatet i PowerShell...
Windows 10 installerer e-postappen på nytt
Hva med…
|_+_|Den kom tilbake Falsk fordi den påstanden IKKE er sann.
PowerShell Not Equal Operator eksempler
I denne delen vil jeg diskutere to praktiske eksempler på PowerShell Not Equal-operatøren. I det første eksemplet vil jeg vise deg hvordan du bruker ne-operatoren til å teste flere verdier eller forhold.
Til slutt, i den andre delen, vil du lære hvordan du bruker PowerShell Not Equal-operatoren i en IF-setning.
PowerShell Not Equal Operator Multiple Values Eksempel
For å illustrere hvordan du bruker PowerShell ne-operatøren til å teste flere verdier, la oss gå tilbake til Få-service kommandoeksempel i forrige seksjon.
|_+_|I denne kommandoen brukte vi PowerShell Not Equal-operatøren for å teste for en enkelt tilstand. Kommandoen returnerte kun tjenester som IKKE har status som Stoppet.
Tilstanden er testet innenfor Hvor-objekt del av kommandoen. Her er resultatet av kommandoen:
Som forventet returnerte kommandoen ALLE tjenester med statusen Kjører.
Hva om jeg vil eliminere noen tjenester selv om statusen deres er Kjører?
Jeg kan oppnå dette ved å legge til flere verdier (eller betingelser) i Hvor-objekt del av kommandoen. La oss for eksempel si at jeg ikke vil returnere følgende tjenester – AJRouter , ALG , og AppMgmt .
For å fjerne disse tjenestene fra resultatet, vil jeg endre den forrige kommandoen som vist nedenfor:
|_+_|Resultatet av den modifiserte kommandoen inkluderer ikke disse 3 tjenestene!
Alternativt kan du endre resultatet av den siste kommandoen ved å bruke eller i stedet for og.
For for eksempel å returnere alle servere som ikke heter AppIDSvc ELLER alle tjenester med status NOT lik kjører, kjør kommandoen nedenfor:
|_+_|Dessverre er resultatet ikke særlig nyttig. Grunnen til at det ikke er veldig nyttig er dette: selv om jeg ønsket å eliminere tjenester med status NOT lik stoppet, fordi jeg har en andre betingelse knyttet til eller – resultatet inkluderte begge tjenestene med status kjører og stoppet.
Uansett, jeg ville bare illustrere hvordan man tester for flere forhold med PowerShell Not Equal-operatøren!
Hvordan bruke PowerShell IKKE lik If-erklæringen
I dette eksemplet vil jeg bygge et skript som lager mapper ved å bruke navnene i tekstfilen nedenfor.
Her er skriptet som lager mapper ved å bruke navn vist i tekstfilen vist ovenfor:
|_+_|Før jeg kjører skriptet, her er mappen lagret i Mappebane variabel (linje 1 i koden). Mappen er tom.
Hvis du ønsker å prøve skriptet, endre følgende variabler til en eksisterende bane på datamaskinen:
$FolderPath : Mappebanen der du vil opprette de nye mappene
$ TextFilePath : Den fullstendige banen til tekstfilen med navnene på mappene du vil opprette.
Til slutt, for å kjøre skriptet, kopier det til PowerShell ISE og kjør det.
Når jeg kjørte skriptet, ble mappene opprettet i mappen spesifisert i Mappebane variabel.
Nedenfor har jeg forklart hva hver linje i skriptet gjør. Vær oppmerksom på PowerShell Not Equal-operatørbanen – $ checkPath -ikke $ sant del – linje 6.
|_+_|Her er en forklaring på hver linje i skriptet:
generisk pnp skjerm driver feil
Resultatet av Test-Path kommandoen er $True eller $False.|_+_|
I tillegg for å stoppe Ny gjenstand kommandoen fra å vise resultater, rør den til Ut-Null kommando.
Til slutt lukker du HVIS setningsblokk med en lukket parentes }.|_+_| Hvis du kjører Ny gjenstand kommando uten å overføre den til Ut-Null kommandoen, viser den detaljene for mappen som er opprettet.
Det er det! Vår oppdaterte PowerShell Not Equal (ne) operatørveiledning.
Jeg håper du fant denne veiledningen nyttig. Hvis du synes det var nyttig, vennligst stem Ja til spørsmålet Var dette innlegget nyttig nedenfor.
Alternativt kan du stille et spørsmål, legge igjen en kommentar eller gi mer tilbakemelding med Legg igjen et svar-skjemaet på slutten av denne siden.
Til slutt, for flere PowerShell tech S Zones, besøk vår Windows PowerShell How-To guide-side. Du kan også finne vår Work from Home-side veldig nyttig.
Denne artikkelen ble fullstendig omskrevet og oppdatert med nye eksempler.


