Ciao a tutti

Benvenuti su CloudAffaire e sono Debjeet.

Nell’ultimo post del blog, abbiamo discusso Sort-Object cmdlet in PowerShell.

PowerShell Sort-Object Cmdlet

In questo post, discuteremo il Where-Object cmdlet in PowerShell. È possibile utilizzare il cmdlet Where-Object per filtrare gli oggetti in base a determinati criteri in PowerShell. È necessario definire il nome della proprietà e la condizione per il filtraggio e dove l’oggetto restituirà gli oggetti che soddisfano la condizione. Per esempio, supponiamo che tu voglia ottenere i servizi che sono fermi. Potete usare il comando Get-Service | Where-Object Status -eq Stopped per ottenere tutti i servizi fermati. La condizione nel cmdlet Where-Object può essere fornita in due modi. Puoi usare un blocco di script per specificare il nome della proprietà, un operatore di confronto e un valore di proprietà. Where-Object restituisce tutti gli oggetti per i quali l’istruzione del blocco di script è vera. Potete anche scrivere una dichiarazione di confronto, che è molto più simile al linguaggio naturale.

Sintassi del comando Where-Object:

Shell

1
2
3
4
5
6
7
8
9
10
11

## Dove-Oggetto
##
## <Stringa>
## <Oggetto>]
## <ScriptBlock>
## | | | | |
## | | | | |
## | | | |
## | | | |
## | | | |
##

Where-Oggetto Lista di argomenti del Cmdlet:

  • -FilterScript: Specifica il blocco di script che viene utilizzato per filtrare gli oggetti. Racchiudi il blocco di script tra parentesi graffe ({}).
  • -InputObject: Specifica gli oggetti da filtrare. È anche possibile inserire gli oggetti in Where-Object.
  • -Property: Specifica il nome di una proprietà dell’oggetto. Il nome del parametro, Property, è opzionale.
  • -Value: Specifica il valore di una proprietà. Il nome del parametro, Value, è opzionale.
  • -Contains: Il valore della proprietà dell’oggetto è una corrispondenza esatta per il valore specificato.
  • -CContains: Il valore della proprietà dell’oggetto è una corrispondenza esatta per il valore specificato. Questa operazione è sensibile alle maiuscole e alle minuscole.
  • -NotContains: Se nessuno degli elementi nel valore della proprietà è una corrispondenza esatta per il valore specificato.
  • -CNotContains: Se il valore della proprietà dell’oggetto non corrisponde esattamente al valore specificato. Questa operazione è case-sensitive.
  • -EQ: Il valore della proprietà è uguale al valore specificato.
  • -CEQ: Il valore della proprietà è uguale al valore specificato. Questa operazione è case-sensitive.
  • -NE: Il valore della proprietà è diverso dal valore specificato.
  • -CNE: Il valore della proprietà è diverso dal valore specificato. Questa operazione è case-sensitive.
  • -GE: Il valore della proprietà è maggiore o uguale al valore specificato.
  • -CGE: Il valore della proprietà è maggiore o uguale al valore specificato. Questa operazione è case-sensitive.
  • -GT: Il valore della proprietà è maggiore del valore specificato.
  • -CGT: Il valore della proprietà è maggiore del valore specificato. Questa operazione è case-sensitive.
  • -In: Il valore della proprietà corrisponde a uno qualsiasi dei valori specificati.
  • -CIn: Il valore della proprietà include il valore specificato. Questa operazione è case-sensitive.
  • -NotIn: Il valore della proprietà non è una corrispondenza esatta per nessuno dei valori specificati.
  • -CNotIn: Se il valore della proprietà non è una corrispondenza esatta per il valore specificato. Questa operazione è case-sensitive.
  • -LE: Il valore della proprietà è minore o uguale al valore specificato.
  • -CLE: Il valore della proprietà è minore o uguale al valore specificato. Questa operazione è case-sensitive.
  • -Like: Il valore della proprietà corrisponde a un valore che include caratteri jolly.
  • -CLike: Il valore della proprietà corrisponde a un valore che include caratteri jolly. Questa operazione è case-sensitive.
  • -NotLike: Se il valore della proprietà non corrisponde a un valore che include caratteri jolly.
  • -CNotLike: Se il valore della proprietà non corrisponde a un valore che include caratteri jolly. Questa operazione è case-sensitive.
  • -LT: Il valore della proprietà è inferiore al valore specificato.
  • -CLT: Il valore della proprietà è inferiore al valore specificato. Questa operazione è case-sensitive.
  • -Match: Il valore della proprietà corrisponde all’espressione regolare specificata.
  • -CMatch: Il valore della proprietà corrisponde all’espressione regolare specificata. Questa operazione è case-sensitive.
  • -NotMatch: Se il valore della proprietà non corrisponde all’espressione regolare specificata.
  • -CNotMatch: Se il valore della proprietà non corrisponde all’espressione regolare specificata. Questa operazione è case-sensitive.
  • -Is: Il valore della proprietà è un’istanza del tipo .NET specificato. Racchiudere il nome del tipo tra parentesi quadre.
  • -IsNot: Se il valore della proprietà non è un’istanza del tipo .NET specificato.

PowerShell Where-Object Cmdlet:

Filtra l’output in base alla condizione in PowerShell:

Shell

1
2
3
4
5
6
7
8
9
10
11
12

########################################
## PowerShell | Cmdlet | Where-Object ##
########################################
### PowerShell Ultima versione (5)
## filtra l’output in base alla condizione in PowerShell
Get-Service | Where-Object Status -eq Stopped
Get-Service | Where-Object -Property Status -EQ -Value Stopped
Get-Service | Where-Object { $_.Status -eq “Stopped” }

Filtra l’output basato su condizioni multiple in PowerShell:

Shell

1
2
3

## filtra l’output basato su condizioni multiple in PowerShell
Get-Service | Where-Object { $_.Status -eq “Stopped” -and $_.DisplayName -match “Windows*” }

Spero che questo articolo vi sia piaciuto. Nel prossimo post del blog, discuteremo il cmdlet ForEach-Object in PowerShell.

Per ottenere maggiori dettagli su PowerShell, seguite gentilmente la seguente documentazione ufficiale

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.