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:
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:
> 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:
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:
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.