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.

PowerShell Sort-Object Cmdlet

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:

Shell

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:

Shell

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:

Shell

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

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.