PowerShell donde-objeto no es igual [Con ejemplos]
PowerShell Where-Object le permite filtrar objetos según sus propiedades y valores. Veremos cómo utilizar el operador -ne con PowerShell Where-Object. Veremos un ejemplo completo de “PowerShell donde-objeto no es igual“.
En PowerShell, el cmdlet Where-Object se usa para filtrar objetos según sus propiedades, y el operador -ne significa "no igual". Para filtrar objetos donde una propiedad específica no equivale a un valor determinado, puede usar un comando como Get-Process | Where-Object { $_.ProcessName -ne 'svchost' }, que devolverá todos los procesos cuyo nombre no sea 'svchost'. Esta combinación permite un filtrado preciso en scripts y operaciones de línea de comandos.
Objeto donde PowerShell no es igual
El cmdlet Where-Object en PowerShell le permite seleccionar objetos que tienen valores de propiedad particulares de una colección de objetos. Por ejemplo, si tiene una lista de archivos y desea filtrar los archivos que no son de un tipo determinado, Where-Object se puede utilizar para hacer precisamente eso.
El operador no igual (-ne)
El operador no igual -ne en PowerShell se usa para comparar dos valores o expresiones y determinar si no son iguales. Cuando se utiliza con Where-Object, filtra los objetos que no coinciden con la condición especificada.
Ejemplos de objeto Where de PowerShell con -ne
Veamos algunos ejemplos prácticos para comprender cómo Where-Object y -ne funcionan juntos en PowerShell. Veamos algunos ejemplos de objeto dónde de PowerShell no igual.
Ejemplo 1: filtrado de objetos de proceso
Imagine que desea obtener una lista de todos los procesos que se ejecutan en su sistema y que no se denominan "svchost". Puede utilizar el operador Donde-Objeto no igual de PowerShell.
Get-Process | Where-Object { $_.ProcessName -ne 'svchost' }Este comando ejecuta todos los procesos en su sistema y utiliza Where-Object para filtrar los procesos en los que ProcessName no es igual a "svchost".
Puede ver el resultado en la captura de pantalla a continuación después de ejecutar el script de PowerShell usando el código VS.
Ejemplo 2: excluir archivos específicos de una lista
Si tiene una lista de archivos y desea excluir archivos con una determinada extensión, por ejemplo, archivos .log , puede usar el siguiente comando PowerShell Where-Object con el operador -ne:
Get-ChildItem | Where-Object { $_.Extension -ne '.log' }Este comando enumera todos los elementos del directorio actual, pero excluye los archivos que terminan con la extensión .log .
Ejemplo 3: filtrado de objetos personalizados
Supongamos que tiene un objeto personalizado con una propiedad "Estado" y desea filtrar todos los objetos que no tienen un estado "Activo":
# Define a collection of custom objects with a 'Status' property
$customObjects = @(
[PSCustomObject]@{Name='Object1'; Status='Inactive'},
[PSCustomObject]@{Name='Object2'; Status='Active'},
[PSCustomObject]@{Name='Object3'; Status='Pending'},
[PSCustomObject]@{Name='Object4'; Status='Active'},
[PSCustomObject]@{Name='Object5'; Status='Inactive'}
)
# Filter the objects where Status is not 'Active'
$filteredObjects = $customObjects | Where-Object { $_.Status -ne 'Active' }
# Output the filtered objects
$filteredObjectsAquí, $customObjects es una variable que contiene una colección de objetos. El cmdlet Where-Object filtra cualquier objeto cuya propiedad Status no sea "Activo".
Aquí está el resultado en la siguiente captura de pantalla:
Uso avanzado con -ne
El operador -ne también se puede utilizar con expresiones más complejas y múltiples condiciones. Por ejemplo, si desea filtrar servicios que no se están ejecutando y que no están configurados para iniciarse automáticamente:
Get-Service | Where-Object { $_.Status -ne 'Running' -and $_.StartType -ne 'Automatic' }Este comando obtiene todos los servicios y filtra aquellos que no se están ejecutando y no están configurados para iniciarse automáticamente.
Conclusión
El cmdlet Where-Object combinado con el operador -ne es muy útil en PowerShell para filtrar objetos que no coinciden con una condición determinada.
En este tutorial de PowerShell, he explicado cómo usar el operador -ne con el objeto dónde de PowerShell con ejemplos.

