Ciao a tutti
Benvenuti su CloudAffaire e sono Debjeet.
Nell’ultimo post del blog, abbiamo discusso Sort-Object cmdlet in PowerShell.
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:
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:
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:
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