Hej alla

Välkommen till CloudAffaire och det här är Debjeet.

I det senaste blogginlägget diskuterade vi Sort-Object cmdlet i PowerShell.

PowerShell Sort-Object Cmdlet

I det här blogginlägget kommer vi att diskutera Where-Object cmdlet i PowerShell. Du kan använda cmdlet Where-Object för att filtrera objekt utifrån vissa kriterier i PowerShell. Du måste definiera egenskapsnamnet och villkoret för filtrering och där objektet returnerar de objekt som uppfyller villkoret. Antag till exempel att du vill hämta tjänster som är stoppade. Du kan använda kommandot Get-Service | Where-Object Status -eq Stopped för att få fram alla stoppade tjänster. Villkoret i Where-Object-cmdletten kan anges på två sätt. Du kan använda ett skriptblock för att ange egenskapsnamnet, en jämförelseoperatör och ett egenskapsvärde. Where-Object returnerar alla objekt för vilka skriptblockets uttalande är sant. Du kan också skriva ett jämförelseuttalande, vilket är mycket mer likt naturligt språk.

Where-Object Cmdlet Syntax:

Shell

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

## Där-Object
###
### <String>
## <Object>]

### <ScriptBlock>
## | | | | | | | | | | | | | |
### | | | | | | | | |
## | | | | | |
## | | | | |
# | | | | | |
##

Where-Object Cmdlet Argumentlista:

  • -FilterScript: Anger det skriptblock som används för att filtrera objekten. Omsluta skriptblocket med hakparenteser ({}).
  • -InputObject: Anger de objekt som ska filtreras. Du kan också överföra objekten till Where-Object.
  • -Property: Anger namnet på en objektegenskap. Parameternamnet Property är valfritt.
  • -Value: Anger ett egenskapsvärde. Parameternamnet Value är valfritt.
  • -Contains:
  • -CContains: Egenskapsvärdet för objektet matchar exakt det angivna värdet.
  • -CContains: Egenskapsvärdet för objektet matchar exakt det angivna värdet: Det angivna värdet är en exakt matchning av objektets egenskapsvärde. Denna operation är skiftlägeskänslig.
  • -NotContains: Om inget av objekten i egenskapsvärdet stämmer exakt överens med det angivna värdet.
  • -CNotContains: Om objektets egenskapsvärde inte är en exakt matchning av det angivna värdet. Den här åtgärden är skiftlägeskänslig.
  • -EQ: Egenskapsvärdet är detsamma som det angivna värdet.
  • -CEQ: Egenskapsvärdet är detsamma som det angivna värdet. Den här åtgärden är skiftlägeskänslig.
  • -NE: Egenskapsvärdet skiljer sig från det angivna värdet.
  • -CNE: Egenskapsvärdet skiljer sig från det angivna värdet. Denna operation är skiftlägeskänslig.
  • -GE:
  • -CGE: Egenskapsvärdet är större än eller lika med det angivna värdet: Detta är en funktion som är större än eller lika med det angivna värdet. Denna operation är skiftlägeskänslig.
  • -GT: Fastighetsvärdet är större än det angivna värdet.
  • -CGT: Fastighetsvärdet är större än det angivna värdet. Denna operation är skiftlägeskänslig.
  • -In:
  • -CIn: Egenskapsvärdet matchar något av de angivna värdena.
  • -CIn: Egenskapsvärdet matchar något av de angivna värdena: Egenskapsvärdet inkluderar det angivna värdet. Denna operation är skiftlägeskänslig.
  • -NotIn:
  • -CNotIn: Egenskapsvärdet matchar inte exakt något av de angivna värdena.
  • -CNotIn: Denna operation innebär att denna funktion är tillämplig: Om egenskapsvärdet inte stämmer exakt överens med det angivna värdet. Den här åtgärden är skiftlägeskänslig.
  • -LE:
  • -CLE: Egenskapsvärdet är mindre än eller lika med det angivna värdet.
  • -CLE: Om egenskapsvärdet är mindre än eller lika med det angivna värdet: Det angivna värdet är mindre än eller lika med det angivna värdet. Den här åtgärden är skiftlägeskänslig.
  • -Like: Egenskapsvärdet matchar ett värde som innehåller jokertecken.
  • -CLike: Egenskapsvärdet matchar ett värde som innehåller jokertecken. Den här åtgärden är skiftlägeskänslig.
  • -NotLike: Om egenskapsvärdet inte matchar ett värde som innehåller jokertecken:
  • -CNotLike: Om egenskapsvärdet inte matchar ett värde som innehåller jokertecken. Den här åtgärden är skiftlägeskänslig.
  • -LT: Egenskapsvärdet är mindre än det angivna värdet.
  • -CLT: Egenskapsvärdet är mindre än det angivna värdet. Denna operation är skiftlägeskänslig.
  • -Match:
  • -CMatch: Egenskapsvärdet matchar det angivna reguljära uttrycket: Egenskapsvärdet matchar det angivna reguljära uttrycket. Den här åtgärden är skiftlägeskänslig.
  • -NotMatch: Om egenskapsvärdet inte matchar det angivna reguljära uttrycket.
  • -CNotMatch: Om egenskapsvärdet inte matchar det angivna reguljära uttrycket. Den här åtgärden är skiftlägeskänslig.
  • -Is: Egenskapsvärdet är en instans av den angivna .NET-typen. Omsluta typnamnet med hakparenteser.
  • -IsNot: Om egenskapsvärdet inte är en instans av den angivna .NET-typen.

PowerShell Where-Object Cmdlet:

Filtrera utdata baserat på villkor i PowerShell:

Shell

1
2
3
4
5
6
7
7

.

8
9
10
11
12

########################################
### PowerShell | Cmdlet | Var-Object ##
########################################
## PowerShell Latest Version (5)
## filter output based on condition 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” }

Filtrera utdata baserat på flera villkor i PowerShell:

Shell

1
2
3

## Filtrera utdata baserat på flera villkor i PowerShell
Get-Service | Where-Object { $_.Status -eq ”Stopped” -and $_.DisplayName -match ”Windows*” }

Hoppas att du har gillat den här artikeln. I nästa blogginlägg kommer vi att diskutera ForEach-Object cmdlet i PowerShell.

För att få mer information om PowerShell kan du följa nedanstående officiella dokumentation

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

.

Lämna ett svar

Din e-postadress kommer inte publiceras.