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 $ _.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:
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:
Di conseguenza, il comando stamperà i valori desiderati che soddisfano la condizione sopra menzionata.
> Get-comand | Funzione comandype -eq dove -objectSi 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 ChromeIl 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 è fermatoConclusione
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.