PowerShell Where-Object Clause

PowerShell Where-Object Clause
Where-Object-klausulen i PowerShell filtrerer innholdet i henhold til en spesifikk verdi av egenskapen til et objekt. Where-Object Clause kan også brukes med hvilken som helst cmdlet/funksjon for å målrette en spesifikk egenskapsverdi for et objekt. Denne artikkelen gir en kort demonstrasjon av hvor-objektklausulen i PowerShell. Etter å ha fulgt denne guiden, vil du kunne få gode praktiske klausuler. Så la oss starte med denne guiden.

Hvordan hvor objektklausulen fungerer

Som diskutert tidligere, kan Where-Object Clause være assosiert med en hvilken som helst cmdlet/funksjon. Where-Object Clause følger to formateringskriterier for å utføre handlingen. Du kan adoptere noen av de nevnte nedenfor.

Den første syntaks utfører Where-Object Clause i et skriptblokkformat, mens den andre syntaks utfører handlingen ved å bruke en sammenligningsuttalelse.

Merk: Skriptblokken inneholder flere uttrykk/utsagn for å utføre handlingen som en enkelt enhet (lukket i seler). Sammenligningsuttalelsen er imidlertid skrevet på normal engelsk.

Syntaks for skriptblokk: Where-Object $ _. ""
Sammenligningsuttalelse Syntaks: Where-Object ""

Det observeres at de grunnleggende begrepene i begge syntaksene er de samme og er definert nedenfor:

: Dette refererer til eiendomsnavnet på objektsamlingen.

: Where-Object støtter flere parametere som bygger sammen forholdet mellom eiendom og verdien.

: Dette alternativet refererer til verdien av eiendommen.

Blant disse forekomstene av syntaks er parametrene hovedingrediensen. Så la oss ta en rask titt på parametrene som kan brukes i hvor-objektklausulen.

Parametere støttet av hvor objektklausulen

Parametrene som støttes av Where-Object Clause er stort sett sammenligningsoperatørene og er definert nedenfor:

  • EQ: Returnerer samlingen av objekter som tilsvarer den spesifiserte verdien i kommandoen.
  • NE: Denne parameteren viser objektene som ikke samsvarer med verdien.
  • LT: Disse objektene skrives ut som tilfredsstiller den mindre enn tilstanden.
  • LE: sjekker samlingen for mindre enn eller tilsvarer tilstand.
  • GT: Ser etter objekter som har større enn den spesifiserte verdien.
  • GE: Jo større enn eller lik operatør sammenligner objektverdiene for den spesifiserte verdien.
  • Ikke: Dette refererer til eiendommen som ikke eksisterer eller verdien er null.
  • Match: Dette uttrykket samsvarer med det vanlige uttrykket.

Hvordan bruke PowerShell Where Object Clause

Denne delen praktiserer bruken av hvor-objektklausulen i PowerShell. Flere eksempler er sitert for å formidle budskapet på en forståelig måte.

Eksempel 1: Bruke hvor objektklausulen på Get-Command Cmdlet

Get-Command Cmdlet lister ned alle aliasene, cmdlets, funksjoner støttet av PowerShell. La oss si at vi ønsker å få Funksjon levert av denne kommandoen. For å gjøre det blir kommandoen med følgende egenskaper utført i PowerShell -konsollen:

  • For det første blir den get-command piplet med hvor objektklausulen
  • Deretter en sammenligningsoperatør (-Eq) brukes til å finne CommandType(Eiendom) verdier lik Funksjon.

Resultatet at kommandoen vil skrive ut de ønskede verdiene som tilfredsstiller ovennevnte tilstand.

> Get-Command | Hvor -objekt -kommandoType -eq -funksjonen

Det observeres at kommandoen utføres i et sammenligningsuttalelsesformat. Dessuten kan den samme kommandoen utføres ved hjelp av syntaks for skriptblokk på følgende måte.

> Get-Command | Hvor-objekt $ _.CommandType -eq "-funksjon"

Eksempel 2: Bruke hvor objektklausulen på Get-Process Cmdlet

La oss utføre hvor objektklausulen på get-prosessen CMDLET. Get-Process Cmdlet skriver ut prosessene til systemet. Kommandoen som er gitt nedenfor, skriver bare ut de prosessene som har Prosessnavn lik krom. For dette brukes -eq -parameteren, er eiendomsnavnet Prosessnavn og verdien av eiendommen er krom. Så etter formatering er kommandoen skrevet nedenfor:

> Get-Process | Hvor -objekt prosessnavn -eq krom

Kommandoen tilsvarende skriptblokk er skrevet nedenfor. Begge kommandoene produserer den samme utgangen, men syntaksen er annerledes.

> Get-Process | Hvor-objekt $ _.ProcessName -eq "Chrome"

Eksempel 3: Bruke hvor objektklausulen med get-service cmdlet

Get-service cmdlet skriver ut tjenestene til Windows-maskinen din i skallet. Du kan hente statusen til tjenestene ved å bruke hvor objektklassen. For eksempel, hvis en liste over bare stoppede tjenester er påkrevd, brukes hvor objektet brukes på følgende måte.

> Get-Service | Hvor objektstatus -eq stoppet

Konklusjon

Where-Object-klausulen i PowerShell tillater å vurdere de objektene som tilfredsstiller den spesifiserte tilstanden. For dette brukes sammenligningsoperatørene for å få objektene som samsvarer med verdiene til en eiendom. I denne demonstrasjonen diskuteres arbeidsmekanismen og bruken av hvor-objektklausulen i detalj. Hovedfunksjonaliteten til hvor objektklausulen avhenger av sammenligningsparametrene. Disse operatørene sjekker verdiene til objektene og sammenligner dem med de spesifiserte verdiene. Dessuten vil du også finne en detaljert beskrivelse av hver parameter som kan brukes med hvor objektklausulen.