Comment utiliser plusieurs conditions dans PowerShell où-objet?

Comment utiliser plusieurs conditions dans PowerShell où-objet?

Dans PowerShell, le «Where-object”Cmdlet est utilisé pour filtrer les objets ou les valeurs d'un objet. Le filtre à objet où comprend des conditions uniques ou multiples. Le filtre à conditions multiples vous permet de filtrer les éléments et de retourner seulement quelques-uns qui correspondent à ces conditions.

Pour postuler où-objet, il est recommandé de le tuyau avec d'autres applets PowerShell. De plus, plusieurs conditions peuvent être définies à l'aide de blocs de script, de divers opérateurs, etc.

Ce message montrera le travail et l'utilisation de plusieurs conditions dans PowerShell où l'objet.

Comment utiliser plusieurs conditions dans PowerShell «Where-Object»?

PowerShell offre les trois possibilités suivantes d'utiliser plusieurs conditions dans PowerShell:

  • Utilisation des blocs de script et des opérateurs d'égalité.
  • Utilisation des blocs de script et des opérateurs de confinement.
  • Utilisation des blocs de script, de l'égalité et des opérateurs de correspondance.

Méthode 1: Utilisez plusieurs conditions dans PowerShell «Where-Object» avec des blocs de script et des opérateurs d'égalité

Un bloc de script comprend un ensemble de relevés multiples enfermés dans des accolades bouclées. Ces types de blocs peuvent être joints à l'emplet de commande d'objet où en utilisant le «-Scripter»Paramètre.

Exemple

Dans l'exemple suivant, nous exercerons des opérateurs d'égalité avec des blocs de script pour utiliser plusieurs conditions dans PowerShell.

Comprenons comment un bloc de script est créé à l'aide de la syntaxe mentionnée ci-dessous:

> $ _.PropertyName -matching-paramètre

Dans la syntaxe ci-dessus, le «$ _.«Le symbole est-il utilisé pour se référer à une propriété. La propriété et sa valeur (à rechercher) sont jointes à l'aide de tout opérateur d'égalité (-gt, -ge, -lt, -le, -eq).

Ici, nous utiliserons un bloc de script pour filtrer les processus en fonction de l'utilisation du CPU du processus et du NPM (mémoire non paginée utilisée par un processus). Les processus remplissant les conditions suivants sont filtrés à l'aide du bloc de script:

  • Avoir NPM supérieur ou égal à 30
  • Ayant une utilisation du processeur supérieure à 3000:
> Get-Process | Where-object -filterscript ($ _.Npm -lt 30) -et ($ _.CPU -GT 300)

La sortie montre que seuls les processus qui ont un NPM supérieur à

Méthode 2: Utilisez plusieurs conditions dans PowerShell «Where-Object» avec des blocs de script et des opérateurs de confinement

Les opérateurs de confinement sont les types d'opérateurs de comparaison. Ces opérateurs sont faciles à comprendre et à lire par rapport aux blocs de script dans PowerShell.

La liste des opérateurs de confinement et leurs descriptions appropriées sont répertoriées dans le tableau suivant:

Opérateur Description
"-contient" La valeur du côté droit de l'opérateur est présente sur le groupe de valeurs sur le côté gauche.
"-Ccontains" Le bon opérande est présent dans le groupe de valeurs présentes à droite. Les -ccontitains est sensible à la casse.
"-NotContains" La valeur du côté droit de l'opérateur n'est pas présente sur le côté gauche.
"-CnotContains" Cet opérateur fonctionne la même.

Exemple

> Get-Service | Où-objet ($ _.StartType -in 'manual') -and ($ _.Status -NotContains 'Running')

Selon le code ci-dessus:

  • "($ _.StartType-dans le «manuel»)«Récupérez les services qui sont dans«Manuel»Mode.
  • "-et«Est utilisé comme concaténateur pour combiner les deux conditions.
  • "($ _.Status -NotContains 'Running')”Remplissez les services qui ne sont pas en cours d'exécution, ce qui signifie les services qui sont arrêtés:

Méthode 3: Utilisez plusieurs conditions dans PowerShell «Where-Object» avec l'utilisation des opérateurs d'égalité et de correspondance

Les opérateurs de correspondance sont utilisés pour correspondre à une condition ou un modèle d'éléments spécifié. Ces opérateurs incluent «-Match »,« -Notmatch »,« -like »et« - non comme".

Exemple

Cette commande contient plusieurs conditions basées sur l'égalité et les opérateurs de correspondance:

> Get Command | Où-objet ($ _.CommandType -eq 'cmdlet') -and ($ _.Name -like '* import *')

Selon cet exemple:

  • "($ _.CommandType -eq 'cmdlet')"Obtenez les commandes égales à"cmdlet" en utilisant le "-égaliseur»Opérateur.
  • "($ _.Nom -like '* import *')"Obtenez les noms en commençant par"Importer" en utilisant le "-comme»Opérateur:

Il s'agissait d'utiliser plusieurs conditions dans PowerShell.

Conclusion

Plusieurs conditions sont celles dans lesquelles plus de deux déclarations ou conditions sont définies. Ces conditions sont utilisées dans PowerShell "Where-object”Avec la combinaison de blocs de script et de déclarations de comparaison. Ce message a fourni un guide complet pour utiliser plusieurs conditions dans PowerShell.