Hello mindenkinek
Köszöntöm a CloudAffaire-en, és itt Debjeet.
A legutóbbi blogbejegyzésben a PowerShell Sort-Object cmdletjét tárgyaltuk.
Ebben a blogbejegyzésben a PowerShell Where-Object cmdletjét tárgyaljuk. A Where-Object cmdlet segítségével bizonyos kritériumok alapján szűrhetünk objektumokat a PowerShellben. Meg kell határoznia a tulajdonság nevét és a szűrési feltételt, és a Hol-objektum visszaadja a feltételnek megfelelő objektumokat. Tegyük fel például, hogy a leállított szolgáltatásokat szeretné megkapni. A Get-Service | Where-Object Status -eq Stopped paranccsal megkaphatja az összes leállított szolgáltatást. A Where-Object cmdletben a feltétel kétféleképpen adható meg. Használhat egy szkriptblokkot a tulajdonság nevének, egy összehasonlító operátornak és egy tulajdonságértéknek a megadására. A Where-Object minden olyan objektumot visszaad, amelyre a szkriptblokk állítása igaz. Írhat összehasonlító utasítást is, ami sokkal inkább hasonlít a természetes nyelvre.
Where-Object Cmdlet szintaxis:
1
2
3
4
. 5
6
7
8
9
10
11
|
## Hol-Object
##
## <String>
## <Object>]
## <ScriptBlock>
## | | | | | | | | | | | | | | |
## | | | | | | | | | |
## | | | | | | |
## | | | | |
## | | | | | |
##
|
Hol-Object Cmdlet argumentumlista:
- -FilterScript: Megadja az objektumok szűrésére használt szkriptblokkot. A szkriptblokkot zárójelbe ({}) zárja.
- -InputObject: Megadja a szűrendő objektumokat. Az objektumokat a Where-Object-be is átvezetheti.
- -Property: Megadja egy objektumtulajdonság nevét. A Property paraméter neve opcionális.
- -Value: Megadja a tulajdonság értékét. A paraméter neve, Value, opcionális.
- -Contains: Az objektum tulajdonságértéke pontosan megegyezik a megadott értékkel.
- -CContains: Az objektum tulajdonságértéke pontosan megegyezik a megadott értékkel. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -NotContains: Ha a tulajdonságérték egyik eleme sem egyezik pontosan a megadott értékkel.
- -CNotContains: Ha az objektum tulajdonságértéke nem egyezik pontosan a megadott értékkel. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -EQ: A tulajdonság értéke megegyezik a megadott értékkel.
- -CEQ: A tulajdonság értéke megegyezik a megadott értékkel. Ez a művelet nagy- és kisbetű-érzékeny.
- -NE: A tulajdonság értéke eltér a megadott értéktől.
- -CNE: A tulajdonság értéke eltér a megadott értéktől. Ez a művelet nagy- és kisbetű-érzékeny.
- -GE: A tulajdonság értéke nagyobb vagy egyenlő a megadott értéknél.
- -CGE: A tulajdonság értéke nagyobb vagy egyenlő a megadott értéknél. Ez a művelet nagy- és kisbetű-érzékeny.
- -GT: A tulajdonság értéke nagyobb, mint a megadott érték.
- -CGT: A tulajdonság értéke nagyobb, mint a megadott érték. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -In: A tulajdonság értéke megegyezik a megadott értékek bármelyikével.
- -CIn: A tulajdonság értéke tartalmazza a megadott értéket. Ez a művelet nagy- és kisbetű-érzékeny.
- -NotIn: A tulajdonság értéke nem egyezik meg pontosan a megadott értékek egyikével sem.
- -CNotIn: Ha a tulajdonság értéke nem pontos egyezése a megadott értéknek. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -LE: A tulajdonság értéke kisebb vagy egyenlő a megadott értékkel.
- -CLE: A tulajdonság értéke kisebb vagy egyenlő a megadott értékkel. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -Like: A tulajdonság értéke megegyezik egy olyan értékkel, amely joker karaktereket tartalmaz.
- -CLike: A tulajdonság értéke egyezik egy olyan értékkel, amely joker karaktereket tartalmaz. Ez a művelet nagy- és kisbetű-érzékeny.
- -NotLike: Ha a tulajdonság értéke nem egyezik meg a helyettesítő karaktereket tartalmazó értékkel.
- -CNotLike: Ha a tulajdonság értéke nem egyezik meg egy olyan értékkel, amely joker karaktereket tartalmaz. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -LT: A tulajdonság értéke kisebb, mint a megadott érték.
- -CLT: A tulajdonság értéke kisebb, mint a megadott érték. Ez a művelet nagy- és kisbetű-érzékeny.
- -Match: A tulajdonság értéke megfelel a megadott reguláris kifejezésnek.
- -CMatch: A tulajdonság értéke megegyezik a megadott reguláris kifejezéssel. Ez a művelet nagy- és kisbetű-érzékeny.
- -NotMatch: Ha a tulajdonság értéke nem felel meg a megadott reguláris kifejezésnek.
- -CNotMatch: Ha a tulajdonság értéke nem felel meg a megadott reguláris kifejezésnek. Ez a művelet a nagy- és kisbetűket megkülönbözteti.
- -Is: A tulajdonság értéke a megadott .NET típus egy példánya. A típus nevét szögletes zárójelbe kell tenni.
- -IsNot: Ha a tulajdonság értéke nem a megadott .NET-típus példánya.
PowerShell Where-Object Cmdlet:
Filter Output Based On Condition In PowerShell:
1
2
3
4
5
6
7
. 8
9
10
11
12
|
########################################
## PowerShell | Cmdlet | Where-Object ##
########################################
## PowerShell Latest Version (5)
## kimenet szűrése a PowerShellben szereplő feltétel alapján
Get-Service | Where-Object Status -eq Stopped
Get-Service | Where-Object -Property Status -EQ -Value Stopped
Get-Service | Where-Object { $_.Status -eq “Leállt” }
|
Kimenet szűrése több feltétel alapján a PowerShellben:
1
2
3
|
## több feltételen alapuló kimenet szűrése a PowerShellben
Get-Service | Where-Object { $_.Status -eq “Leállítva” -és $_.DisplayName -match “Windows*” }
|
Remélem, tetszett ez a cikk. A következő blogbejegyzésben a ForEach-Object cmdletet fogjuk tárgyalni a PowerShellben.
A PowerShell további részleteinek megismeréséhez kérjük, kövesse az alábbi hivatalos dokumentációt
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1
.