PowerShell Where-Object Clause

PowerShell Where-Object Clause
La clausola di Where-Object in PowerShell filtra il contenuto in base a un valore specifico della proprietà di un oggetto. La clausola di Object può essere utilizzata anche con qualsiasi cmdlet/funzione per colpire un valore di proprietà specifico di un oggetto. Questo articolo fornisce una breve dimostrazione della clausola di Where-Object in PowerShell. Dopo aver seguito questa guida, saresti in grado di ottenere buone clausole pratiche dove-oggetto. Quindi, iniziamo con questa guida.

Come funziona la clausola di dove-oggetto

Come discusso in precedenza, la clausola di Object può essere associata a qualsiasi cmdlet/funzione. La clausola di Where-Object segue due criteri di formattazione per eseguire l'azione. Puoi adottare uno dei menzionati di seguito.

La prima sintassi esegue la clausola WhoW-Object in un formato di blocco dello script mentre la seconda sintassi esegue l'azione utilizzando un'istruzione di confronto.

Nota: Il blocco di script comprende più espressioni/istruzioni per eseguire l'azione come singola unità (racchiusa in parentesi graffe). Tuttavia, la dichiarazione di confronto è scritta in inglese normale.

Sintassi del blocco script: dove-object $ _. ""
Sintassi dell'istruzione di confronto: dove-oggetto ""

Si osserva che i termini di base in entrambi i sintassi sono gli stessi e sono definiti di seguito:

: Questo si riferisce al nome di proprietà della raccolta di oggetti.

: Where-Object supporta più parametri che colpiscono la relazione tra proprietà e valore.

: Questa opzione si riferisce al valore della proprietà.

Tra questi casi di sintassi, i parametri sono l'ingrediente principale. Quindi, diamo un'occhiata rapida ai parametri che possono essere utilizzati nella clausola di Where-Object.

Parametri supportati dalla clausola di Where-Object

I parametri supportati dalla clausola Where-Object sono principalmente gli operatori di confronto e sono definiti di seguito:

  • EQ: restituisce la raccolta di oggetti che equivale al valore specificato nel comando.
  • NE: questo parametro mostra gli oggetti che non corrispondono al valore.
  • LT: quegli oggetti sono stampati che soddisfano la condizione inferiore.
  • LE: Controlla la raccolta per una condizione inferiore o uguale.
  • GT: cerca oggetti che hanno maggiori del valore specificato.
  • GE: L'operatore maggiore o uguale confronta i valori degli oggetti per il valore specificato.
  • No: questo si riferisce alla proprietà che non esiste o il valore è nullo.
  • Match: questa espressione corrisponde all'espressione regolare.

Come usare la clausola di PowerShell dove-oggetto

Questa sezione pratica l'uso della clausola di Where-Object in PowerShell. Diversi esempi sono citati per trasmettere il messaggio in modo comprensibile.

Esempio 1: Utilizzo della clausola di Object su Get-comand cmdlet

Il CMDlet Get-comand elenca tutti gli alias, i cmdlet, le funzioni supportate da PowerShell. Diciamo che vogliamo ottenere il Funzione fornito da questo comando. Per fare ciò, il comando con le seguenti proprietà viene eseguito nella console PowerShell:

  • In primo luogo, il Get-comand viene convocato con la clausola di Where-Object
  • Quindi un operatore di confronto (-Eq) viene utilizzato per trovare il CommandType(Proprietà) valori uguali a Funzione.

Di conseguenza, il comando stamperà i valori desiderati che soddisfano la condizione sopra menzionata.

> Get-comand | Funzione comandype -eq dove -object

Si osserva che il comando viene eseguito in un formato di dichiarazione di confronto. Inoltre, lo stesso comando può essere eseguito utilizzando la sintassi del blocco script nel modo seguente.

> Get-comand | Dove-object $ _.Comandtype -eq "funzione"

Esempio 2: Utilizzo della clausola di Object su Get-Process Cmdlet

Eseguiamo la clausola di Where-Object sul cmdlet Get-Process. Il cmdlet get-process stampica i processi del sistema. Il comando fornito di seguito stampe solo quei processi che hanno Nome del processo uguale a cromo. Per questo, viene utilizzato il parametro -eq, il nome della proprietà è Nome del processo e il valore della proprietà è cromo. Quindi, dopo la formattazione, il comando è scritto di seguito:

> Get-process | Dove -object processName -eq Chrome

Il comando Equivalente Script Block è scritto di seguito. Entrambi i comandi producono lo stesso output ma la sintassi è diversa.

> Get-process | Dove-object $ _.ProcessName -eq "Chrome"

Esempio 3: Utilizzo della clausola di Object con Get-Service CMDlet

Get-Service Cmdlet stampare i servizi della macchina Windows nella shell. È possibile recuperare lo stato dei servizi utilizzando la classe Whow-Object. Ad esempio, se è richiesto un elenco di solo servizi interrotti, allora viene utilizzato l'oggetto dove viene utilizzato.

> Get-Service | Dove -oggetto lo stato -eq si è fermato

Conclusione

La clausola di Where-Object in PowerShell consente di considerare quegli oggetti che soddisfano la condizione specificata. Per questo, gli operatori di confronto vengono utilizzati per ottenere gli oggetti che corrispondono ai valori di una proprietà. In questa dimostrazione, il meccanismo di lavoro e l'uso della clausola di dove-oggetto sono discussi in dettaglio. La funzionalità principale della clausola di Object dipende dai parametri di confronto. Questi operatori controllano i valori degli oggetti e li confrontano con i valori specificati. Inoltre, troveresti anche una descrizione dettagliata di ciascun parametro che può essere utilizzato con la clausola di Object.