Filtro PowerShell | Guía de diferentes tipos de filtros PowerShell
Introducción al filtrado en PowerShell
El filtrado se refiere al proceso de restringir la salida de un cmdlet o una declaración en función de determinadas condiciones. Esto ayuda a optimizar los resultados y el usuario podrá ver lo que quiere entre la gran cantidad de resultados. Esto se logra en PowerShell con la ayuda del cmdlet Where-object. Donde el objeto seleccionará los objetos de la colección que coincidan con la condición. Los objetos donde se pueden usar de dos maneras, ya sea usando un bloque de script o usando declaraciones condicionales. Este artículo cubrirá en detalle los distintos filtros que están disponibles en PowerShell.
Sintaxis
La siguiente es la sintaxis del bloque de script donde se cumple la condición.
Where-Object[-InputObject <PSObject>][-FilterScript] <ScriptBlock>[<CommonParameters>]O
Get-Process | Where-Object {$_.Id -eq 5940}La siguiente es la sintaxis del operador de condición:
Where-Object[-InputObject <PSObject>][-Property] <String>[[-Value] <Object>][-Comparison Operator][<CommonParameters>]
O
Get-Process | Where-Object ID -eq 5940Para obtener la lista de propiedades que están disponibles para un cmdlet, el cmdlet Format-List se puede canalizar al cmdlet respectivo para enumerar las propiedades disponibles.
Para seleccionar solo un puñado de objetos de la colección, se puede utilizar el cmdlet Select-Object.
O
Get-Process | Select-Object -First 5El cmdlet anterior solo mostrará los primeros cinco procesos.
Diferentes tipos de filtro
Diferentes tipos y su uso:
Contiene
Demuestra que esto obtiene objetos si algo dentro de la propiedad estimada de la pregunta es una coordenada exacta para el valor deseado. Si el valor de la propiedad contiene una sola pregunta, PowerShell la convierte en una colección de un objeto. Este parámetro se presentó en Windows PowerShell 3.0. El tipo de datos es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias Contiene. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
ecuación
Esto devolverá objetos de la colección cuyo valor de propiedad sea el mismo que el valor dado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias IEQ. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
FilterScript
Esto indica el bloque de secuencia de comandos que se debe utilizar para el filtrado. El bloque de script está encerrado entre ({}). No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
GE
Esto devolverá objetos de la colección cuyo valor de propiedad sea mayor o igual al valor dado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias IGE. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
GT
Esto devolverá objetos de la colección cuyo valor de propiedad sea mayor que el valor dado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias IGT. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
En
Esto devolverá los objetos cuyos valores sean uno de los valores especificados. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se hace referencia mediante el alias IIn. No se acepta la entrada de canalización y tampoco se permiten caracteres comodín.
Es
Esto devolverá objetos cuyo tipo de datos sea el mismo que el valor mencionado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
IsNot
Esto es lo opuesto a Is. Esto devolverá objetos que no coincidan con el tipo especificado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
LE
Esto devolverá objetos de la colección cuyo valor de propiedad sea menor o igual al valor dado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias ILE. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
LT
Esto devolverá objetos de la colección cuyo valor de propiedad sea menor que el valor dado. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias ILT. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
Como
Esto devuelve objetos que satisfacen la condición del comodín. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias ILike. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
Fósforo
Esto devuelve objetos que satisfacen la expresión regular. El tipo de datos del parámetro es el parámetro de cambio. Ninguna es la estimación predeterminada. Se le conoce con el alias IMatch. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.
Ejemplo para implementar el filtro PowerShell
A continuación se muestra el ejemplo mencionado:
Ejemplo #1
Código:
Write-Host "Welcome to filtering example"
Write-Host "Demo of contains example"
$names = 'vignesh','nandhini','vyapini','vijay','sethu'
$names -contains 'vignesh'
Write-Host "Match is found"
$age=19
Write-Host "Demo of eq operator"
$ee= Read-Host "Enter age"
if($ee -eq $age)
{
Write-Host "age matches"
}
else
{
Write-Host "doesnt match"
}
Write-Host "greater than or greater than equal to example"
$ee= Read-Host "enter a number"
if(($ee -ge 100) -and ($ee -le 200))
{
Write-Host "entered no is greater than or equal to 100 and less than or equal to 200"
}
elseif(($ee -gt 200) -and ($ee -lt 300))
{
Write-Host "entered no is greater than 200 and less than 300"
}
else
{
Write-Host "entered no is greater than 300"
}
Write-Host "example of in"
$val= "aa","bb","cc"
Write-Host "enter a value"
$tt= Read-Host "enter a value"
if($tt -in $val)
{
Write-Host "value in matched"
}
else
{
Write-Host "no match"
}
Salida:
Conclusión
Por lo tanto, el artículo cubrió en detalle las operaciones de filtrado en PowerShell. Cubrió con ejemplos apropiados de los diversos operadores que están disponibles para el filtrado. Para conocer más detalladamente es recomendable escribir guiones de muestra y practicarlos.

