Hej alle
Velkommen til CloudAffaire, og dette er Debjeet.
I det sidste blogindlæg har vi diskuteret Sort-Object cmdlet i PowerShell.
I dette blogindlæg vil vi diskutere Where-Object cmdlet i PowerShell. Du kan bruge Where-Object-cmdletten til at filtrere objekter på baggrund af bestemte kriterier i PowerShell. Du skal definere egenskabsnavnet og betingelsen for filtrering, og hvor objektet vil returnere de objekter, der opfylder betingelsen. Antag f.eks., at du vil hente tjenester, der er stoppet. Du kan bruge kommandoen Get-Service | Where-Object Status -eq Stopped til at få alle stoppede tjenester. Betingelsen i cmdlet’en Where-Object kan angives på to måder. Du kan bruge en scriptblok til at angive egenskabsnavnet, en sammenligningsoperator og en egenskabsværdi. Where-Object returnerer alle objekter, for hvilke scriptblokanvisningen er sand. Du kan også skrive en sammenligningsangivelse, som minder meget mere om naturligt sprog.
Where-Object Cmdlet Syntaks:
1
2
3
4
4
5
6
7
8
9
10
11
|
### Hvor-Object
###
### <String>
## <Object>]
### <ScriptBlock>
### | | | | | | | | | | | | | | | |
### | | | | | | | | | | | |
## | | | | | | | |
## | | | | | | |
##
|
Where-Object Cmdlet Argumentliste:
- -FilterScript: Angiver den scriptblok, der bruges til at filtrere objekterne. Omslut scriptblokken i parenteser ({}).
- -InputObject: Angiver de objekter, der skal filtreres. Du kan også sende objekterne via rørledning til Where-Object.
- -Property: Angiver navnet på en objektegenskab. Parameternavnet, Property, er valgfrit.
- -Value: Angiver en egenskabsværdi. Parameternavnet, Værdi, er valgfrit.
- -Contains:
- : Ejendomsværdi for objektet svarer nøjagtigt til den angivne værdi.
- -CContains: Ejendomsværdi for objektet er et nøjagtigt match for den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -NotContains: Hvis ingen af elementerne i egenskabsværdien svarer nøjagtigt til den angivne værdi.
- -CNotContains: Hvis ingen af elementerne i egenskabsværdien svarer nøjagtigt til den angivne værdi: Hvis objektets egenskabsværdi ikke er et nøjagtigt match for den angivne værdi. Denne operation er stregfølsom.
- -EQ: Ejendomsværdien er den samme som den angivne værdi.
- -CEQ: Ejendomsværdien er den samme som den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -NE: Ejendomsværdien er forskellig fra den angivne værdi.
- -CNE: Ejendomsværdien er forskellig fra den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -GE: Ejendomsværdien er større end eller lig med den angivne værdi.
- -CGE: Ejendomsværdien er større end eller lig med den angivne værdi. Denne operation er stregfølsom.
- -GT: Ejendomsværdien er større end den angivne værdi.
- -CGT: Ejendomsværdien er større end den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -In: Ejendomsværdien svarer til en af de angivne værdier.
- -CIn: Ejendomsværdien omfatter den angivne værdi. Denne operation er stregfølsom.
- -NotIn: Ejendomsværdien svarer ikke nøjagtigt til nogen af de angivne værdier.
- -C-NotIn: Hvis egenskabsværdien ikke er et nøjagtigt match for den angivne værdi. Denne operation er case-sensitiv.
- -LE: Ejendomsværdien er mindre end eller lig med den angivne værdi.
- -CLE: Ejendomsværdien er mindre end eller lig med den angivne værdi.
- -CLE: Ejendomsværdien er mindre end eller lig med den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -Like: Ejendomsværdien svarer til en værdi, der indeholder jokertegn.
- -CLike: Egenskabsværdi svarer til en værdi, der indeholder jokertegn. Der tages hensyn til store og små bogstaver i denne operation.
- -NotLike: Hvis egenskabsværdien ikke svarer til en værdi, der indeholder jokertegn.
- -CNotLike: Hvis egenskabsværdien ikke svarer til en værdi, der indeholder jokertegn. Denne operation er case-sensitiv.
- -LT: Ejendomsværdien er mindre end den angivne værdi.
- -CLT: Ejendomsværdien er mindre end den angivne værdi. Der tages hensyn til store og små bogstaver i denne operation.
- -Match: Ejendomsværdien passer til det angivne regulære udtryk.
- -CMatch: Ejendomsværdien passer til det angivne regulære udtryk: Ejendomsværdien passer til det angivne regulære udtryk. Denne handling er case-sensitiv.
- -NotMatch: Hvis egenskabsværdien ikke passer til det angivne regulære udtryk.
- -CNotMatch: Hvis egenskabsværdien ikke passer til det angivne regulære udtryk. Denne handling er case-sensitiv.
- -Is: Ejendomsværdi er en instans af den angivne .NET-type. Indslut typenavnet i firkantede parenteser.
- -IsNot: Hvis egenskabsværdien ikke er en instans af den angivne .NET-type.
PowerShell Where-Object Cmdlet:
Filtrer output baseret på betingelse I PowerShell:
1
2
2
3
4
5
6
7
7
8
9
10
11
12
|
########################################
### PowerShell | Cmdlet | Hvor-Object ##
########################################
### PowerShell Seneste version (5)
## filtrere output baseret på betingelse i PowerShell
Get-Service | Where-Object Status -eq Stopped
Get-Service | Where-Object -Property Status -EQ -Value Stopped
Get-Service | Where-Object { $_.Status -eq “Stopped” }
|
Filtrere output baseret på flere betingelser i PowerShell:
Shell
1
2
3
### Filter output baseret på flere betingelser i PowerShell
Get-Service | Where-Object { $_.Status -eq “Stopped” -and $_.DisplayName -match “Windows*” }
1
2
3
|
### Filter output baseret på flere betingelser i PowerShell
Get-Service | Where-Object { $_.Status -eq “Stopped” -and $_.DisplayName -match “Windows*” }
|
Håber du har haft glæde af denne artikel. I det næste blogindlæg vil vi diskutere ForEach-Object cmdlet i PowerShell.
For at få flere detaljer om PowerShell skal du venligst følge nedenstående officielle dokumentation
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1