I PowerShell, “Hvor-objektet”Cmdlet brukes til å filtrere ut objektene eller verdiene fra et objekt. Where-Object-filteret omfatter enkelt- eller flere forhold. Filteret med flere betingelser lar deg filtrere ut varene og returnere bare noen få som samsvarer med disse forholdene.
For å bruke hvor objektet, anbefales det å røre det med andre PowerShell-cmdlets. Videre kan flere forhold defineres ved hjelp av skriptblokker, forskjellige operatører og så videre.
Dette innlegget vil demonstrere arbeid og bruk av flere forhold i PowerShell Where-Object.
Hvordan bruke flere forhold i PowerShell “Where-Object”?
PowerShell gir følgende tre muligheter for å bruke flere forhold i PowerShell:
Metode 1: Bruk flere betingelser i PowerShell “Where-Object” med skriptblokker og likestillingsoperatører
En skriptblokk består av et sett med flere utsagn omsluttet av krøllete seler. Disse typer blokker kan kobles sammen med Where-Object Cmdlet ved å bruke "-FilterScript" parameter.
Eksempel
I det følgende eksemplet vil vi utøve likestillingsoperatører med skriptblokker for å bruke flere forhold i PowerShell.
La oss forstå hvordan en skriptblokk opprettes ved hjelp av den nedenfor-nevnte syntaks:
> $ _.PropertyName -Matching -parameter
I syntaks ovenfor, "$ _.”Er symbolet som brukes til å referere til en eiendom. Eiendommen og verdien (som skal søkes) blir sammen med en hvilken.
Her vil vi bruke en skriptblokk for å filtrere prosessene basert på CPU-bruken av prosessen og NPM (ikke-sidereminnet som brukes av en prosess). Prosessene som oppfyller følgende betingelser blir filtrert ved hjelp av skriptblokken:
> Get-Process | Where -Object -FilTerscript ($ _.Npm -lt 30) -og ($ _.CPU -GT 300)
Utgangen viser at bare prosessene som har npm større enn
Metode 2: Bruk flere forhold i PowerShell “Where-Object” med skriptblokker og inneslutningsoperatører
Inneslutningsoperatører er de typer sammenligningsoperatører. Disse operatørene er enkle å forstå og lese sammenlignet med skriptblokkene i PowerShell.
Listen over inneslutningsoperatører og deres passende beskrivelser er oppført i følgende tabell:
Operatør | Beskrivelse |
---|---|
“-Foller” | Verdien på høyre side av operatøren er til stede på gruppen av verdier på venstre side. |
“-Contains” | Høyre operand er til stede i gruppen av verdier som er til stede til høyre. -Kontanene er saks følsomme. |
“-Notcontains” | Verdien på høyre side av operatøren er ikke til stede på venstre side. |
“-CnotContains” | Denne operatøren fungerer den samme som for -ikke -innkontorene, men med saksfølsomhet. |
Eksempel
> Get-Service | Hvor-objekt ($ _.Starttype -in 'manuell') -og ($ _.Status -notcontains 'Running')
I henhold til koden ovenfor:
Metode 3: Bruk flere forhold i PowerShell “Where-Object” med bruk av likhet og matchende operatører
Matchende operatører brukes til å matche en spesifisert tilstand eller mønster av elementer. Disse operatørene inkluderer "-Match "," -notmatch "," -lignende "og" -Notlignende”.
Eksempel
Denne kommandoen inneholder flere betingelser basert på likhet og samsvarende operatører:
> Get-Command | Hvor-objekt ($ _.CommandType -eq 'cmdlet') -og ($ _.Navn -lignende '*import*')
I følge dette eksemplet:
Det handlet om å bruke flere forhold i PowerShell.
Konklusjon
Flere forhold er de der mer enn to uttalelser eller forhold er definert. Disse forholdene brukes i PowerShell “Hvor-objektet”Med kombinasjonen av skriptblokker og sammenligningsuttalelser. Dette innlegget har gitt en komplett guide for å bruke flere forhold i PowerShell.