Jak używać wielu warunków w PowerShell, gdzie-obiekt?

Jak używać wielu warunków w PowerShell, gdzie-obiekt?

W PowerShell, „Gdzie-obiekt”CMDLET służy do odfiltrowania obiektów lub wartości z obiektu. Filtr Where-Obiekt obejmuje pojedyncze lub wiele warunków. Filtr wielokrotne umożliwia odfiltrowanie elementów i zwrócenie tylko kilku, które pasują do tych warunków.

Aby zastosować w miejscu, w którym-obiekt zaleca się, aby jeździć z innymi cmdletami PowerShell. Ponadto można zdefiniować wiele warunków za pomocą bloków skryptów, różnych operatorów i tak dalej.

Ten post pokaże działanie i wykorzystanie wielu warunków w PowerShell, gdzie-obiekt.

Jak korzystać z wielu warunków w PowerShell „Where-Obieject”?

PowerShell zapewnia następujące trzy możliwości korzystania z wielu warunków w PowerShell:

  • Korzystanie z bloków skryptów i operatorów równości.
  • Korzystanie z bloków skryptów i operatorów ograniczania.
  • Korzystanie z bloków skryptów, równości i pasujących operatorów.

Metoda 1: Użyj wielu warunków w PowerShell „Where-Owoject” z blokami skryptów i operatorami równości

Blok skryptu zawiera zestaw wielu instrukcji zamkniętych w kręconych klamrach. Tego rodzaju bloki można połączyć z CMDLET WHE-OBECTER CMDLES za pomocą „-FilterScript”Parametr.

Przykład

W poniższym przykładzie będziemy korzystać z operatorów równości z blokami skryptowymi, aby użyć wielu warunków w PowerShell.

Zrozum, w jaki sposób blok skryptu jest tworzony przy użyciu poniżej wspomnianej składni:

> $ _.Nazwa nieruchomości -Matching -parametr

W powyższej składni „„$ _.”To symbol używany w odniesieniu do właściwości. Właściwość i jej wartość (do przeszukiwania) są połączone przy użyciu dowolnego operatora równości (-GT, -Ge, -Lt, -le, -eq).

Tutaj użyjemy bloku skryptu do filtrowania procesów w oparciu o użycie procesora i NPM (pamięć bezstronna używana przez proces). Procesy wypełnianie następujących warunków są filtrowane za pomocą bloku skryptu:

  • Posiadanie NPM większe lub równe 30
  • Posiadanie użycia procesora większego niż 3000:
> Process | Gdzie -obiekt -FilterScript ($ _.Npm -lt 30) -i ($ _.CPU -GT 300)

Wyjście pokazuje, że tylko procesy, które mają NPM większe niż

Metoda 2: Użyj wielu warunków w PowerShell „Where-Owoject” z blokami skryptów i operatorami ograniczania

Operatorzy ograniczania to rodzaje operatorów porównawczych. Te operatorzy są łatwe do zrozumienia i odczytania w porównaniu z blokami skryptów w PowerShell.

Lista operatorów ograniczających i ich odpowiednie opisy są wymienione w poniższej tabeli:

Operator Opis
"-zawiera" Wartość po prawej stronie operatora jest obecna w grupie wartości po lewej stronie.
„-Ccontains” Prawy operand jest obecny w grupie wartości obecnych po prawej stronie. -Ccontains jest wrażliwy.
„-Notcontains” Wartość po prawej stronie operatora nie jest obecna po lewej stronie.
„-CnotContains” Ten operator działa tak samo jak w -NotContains, ale z wrażliwością na przypadek.

Przykład

> Get-service | Gdzie-obiekt ($ _.StartType -in „Manual”) -and ($ _.Status -notContains „Uruchamianie”)

Zgodnie z powyższym kodem:

  • "($ _.StartType -in „Manual”)„Pobierz usługi, które są w„podręcznik" tryb.
  • "-I”Jest używany jako konatenator do łączenia obu warunków.
  • "($ _.Status -notContains „Uruchamianie”)”Pobierz usługi, które nie są uruchomione, co oznacza usługi, które zostały zatrzymane:

Metoda 3: Użyj wielu warunków w PowerShell „Where-Obieject” z stosowaniem operatorów równości i dopasowania

Dopasowawcy są używane do dopasowania określonego warunku lub wzoru elementów. Te operatorzy obejmują „-mecz ”,„ -notmatch ”,„-podobny ”i„-nie podobne".

Przykład

To polecenie zawiera wiele warunków opartych na operatorach równości i pasujących:

> Get-command | Gdzie-obiekt ($ _.CommandType -eq 'cmdlet') -and ($ _.Nazwa -podobna „*import*”)

Zgodnie z tym przykładem:

  • "($ _.CommandType -eq 'cmdlet')„Uzyskaj polecenia równe„CMDLET" używając "-Eq„Operator.
  • "($ _.Nazwa -podobna „*import*”)„Uzyskaj nazwiska zaczynające się od„Import" używając "-tak jak„Operator:

Chodziło o użycie wielu warunków w PowerShell.

Wniosek

Wiele warunków to te, w których zdefiniowano więcej niż dwa stwierdzenia lub warunki. Warunki te są używane w PowerShell ”Gdzie-obiekt”Z kombinacją bloków skryptów i instrukcji porównawczych. Ten post zawierał pełny przewodnik po użyciu wielu warunków w PowerShell.