Hola a todos
Bienvenidos a CloudAffaire y esto es Debjeet.
En la última entrada del blog, hemos discutido Sort-Object cmdlet en PowerShell.
En esta entrada del blog, vamos a discutir el Where-Object cmdlet en PowerShell. Puede utilizar el cmdlet Where-Object para filtrar objetos basados en ciertos criterios en PowerShell. Es necesario definir el nombre de la propiedad y la condición para el filtrado y donde el objeto devolverá los objetos que cumplan la condición. Por ejemplo, suponga que quiere obtener los servicios que están detenidos. Puede utilizar el comando Get-Service | Where-Object Status -eq Stopped para obtener todos los servicios detenidos. La condición en el cmdlet Where-Object se puede proporcionar de dos maneras. Puede utilizar un bloque de script para especificar el nombre de la propiedad, un operador de comparación y un valor de la propiedad. Where-Object devuelve todos los objetos para los que la declaración del bloque de script es verdadera. También puede escribir una sentencia de comparación, que es mucho más parecida al lenguaje natural.
Sintaxis del Cmdlet Where-Object:
1
2
3
4
5
6
7
8
9
10
11
|
## Donde-Object
##
# <String>
## <Object>]
## <ScriptBlock>
## | | | | |
## | | | |
## | | | |
## | | | |
## || || |
##
|
Where-Lista de argumentos del cmdlet de objetos:
- -FilterScript: Especifica el bloque de script que se utiliza para filtrar los objetos. Encierre el bloque de script entre llaves ({}).
- -InputObject: Especifica los objetos a filtrar. También puede canalizar los objetos a Where-Object.
- -Property: Especifica el nombre de una propiedad del objeto. El nombre del parámetro, Property, es opcional.
- -Value: Especifica el valor de una propiedad. El nombre del parámetro, Value, es opcional.
- -Contiene: El valor de la propiedad del objeto coincide exactamente con el valor especificado.
- -Contiene: El valor de la propiedad del objeto coincide exactamente con el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -NotContains: Si ninguno de los elementos del valor de la propiedad es una coincidencia exacta para el valor especificado.
- -CNotContains: Si el valor de la propiedad del objeto no es una coincidencia exacta para el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -EQ: El valor de la propiedad es el mismo que el valor especificado.
- -CEQ: El valor de la propiedad es el mismo que el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -NE: El valor de la propiedad es diferente al valor especificado.
- -CNE: El valor de la propiedad es diferente al valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -GE: El valor de la propiedad es mayor o igual que el valor especificado.
- -CGE: El valor de la propiedad es mayor o igual que el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -GT: El valor de la propiedad es mayor que el valor especificado.
- -CGT: El valor de la propiedad es mayor que el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -In: El valor de la propiedad coincide con cualquiera de los valores especificados.
- -CIn: El valor de la propiedad incluye el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -NotIn: El valor de la propiedad no coincide exactamente con ninguno de los valores especificados.
- -CNotIn: Si el valor de la propiedad no es una coincidencia exacta para el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -LE: El valor de la propiedad es menor o igual que el valor especificado.
- -CLE: El valor de la propiedad es menor o igual que el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -Like: El valor de la propiedad coincide con un valor que incluye caracteres comodín.
- -CLike: El valor de la propiedad coincide con un valor que incluye caracteres comodín. Esta operación distingue entre mayúsculas y minúsculas.
- -NotLike: Si el valor de la propiedad no coincide con un valor que incluya caracteres comodín.
- -CNotLike: Si el valor de la propiedad no coincide con un valor que incluya caracteres comodín. Esta operación distingue entre mayúsculas y minúsculas.
- -LT: El valor de la propiedad es menor que el valor especificado.
- -CLT: El valor de la propiedad es menor que el valor especificado. Esta operación distingue entre mayúsculas y minúsculas.
- -Match: El valor de la propiedad coincide con la expresión regular especificada.
- -CMatch: El valor de la propiedad coincide con la expresión regular especificada. Esta operación distingue entre mayúsculas y minúsculas.
- -NotMatch: Si el valor de la propiedad no coincide con la expresión regular especificada.
- -CNotMatch: Si el valor de la propiedad no coincide con la expresión regular especificada. Esta operación distingue entre mayúsculas y minúsculas.
- -Is: El valor de la propiedad es una instancia del tipo .NET especificado. Encierre el nombre del tipo entre corchetes.
- -IsNot: Si el valor de la propiedad no es una instancia del tipo .NET especificado.
PowerShell Where-Object Cmdlet:
Filtrar la salida según la condición en PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
|
########################################
## PowerShell | Cmdlet | Where-Object ##
########################################
# PowerShell última versión (5)
# filtrar la salida en base a la condición en PowerShell
Get-Service | Where-Object Status -eq Stopped
Get-Service | Where-Object -Property Status -EQ -Value Stopped
Get-Service | Where-Object { $_.Status -eq «Stopped» }
|
Filtrar la salida basada en múltiples condiciones en PowerShell:
1
2
3
|
## filtrar la salida basada en múltiples condiciones en PowerShell
Get-Service | Where-Object { $_.Status -eq «Stopped» -y $_.DisplayName -match «Windows*» }
|
Espero que os haya gustado este artículo. En la próxima entrada del blog, vamos a discutir ForEach-Object cmdlet en PowerShell.
Para obtener más detalles sobre PowerShell, amablemente seguir abajo documentación oficial
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1