- Windows PowerShell -Contains
- Themen für den PowerShell-Bedingungsoperator -Contains
- Beispiel 1a: PowerShell -Contains
- Beispiel 1b: PowerShells -Contains ist sehr streng
- Guy Recommends: Free WMI Monitor for PowerShell (FREE TOOL)
- Beispiel 2: Suchen eines Wertes in einer Sammlung
- Beispiel 3: PowerShell -Contains Spreadsheet
- Guy Recommends: Network Performance Monitor (FREE TRIAL)
- Beispiel 4: PowerShell -CContains
- Beispiel 5: PowerShell -NotContains
- Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)
- Über_Operatoren
- Hier ist die Liste der Typen der PowerShell-Operatoren
- Zusammenfassung des PowerShell-Operators -Contains Conditional Operator
- Weitere Beispiele für die Windows PowerShell-Ablaufsteuerung
Windows PowerShell -Contains
Wenn es darum geht, Daten zu filtern oder zu finden, haben wir mit -Match, -Like und -Contains die Qual der Wahl. Es gibt zwar Überschneidungen, aber jeder bedingte Operator hat seine eigene Rolle in der PowerShell-Skripterstellung.
Contains eignet sich am besten für die Suche nach einem genauen Wert. Wenn ich möchte, dass ein Befehl entweder True oder False zurückgibt, beginne ich mit -Contains, während ich, wenn ich eine Liste von Ergebnissen möchte, -Match oder -Like ausprobiere.
Themen für den PowerShell-Bedingungsoperator -Contains
- Beispiel 1: PowerShell -Contains (Basic)
- Beispiel 2: Suchen eines Wertes in einer Sammlung
- Beispiel 3: PowerShell -Contains Spreadsheet
- Beispiel 4: PowerShell -CContains
- Beispiel 5: PowerShell -NotContains
- PowerShell -Match
- PowerShell -Like
Beispiel 1a: PowerShell -Contains
PowerShell verwendet Substantive im Singular; daher ist „contains“ ein Verb und kein Substantiv im Plural. Ein Merkmal von -Contains ist, dass es normalerweise „True“ oder „False“ zurückgibt. Wenn Sie einen Befehl suchen, der eine Liste von Werten zurückgibt, dann verwenden Sie -Match oder -Like.
# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flat","Bungalow")$ArraySimple -Contains "Flat"# Result PS> True
Beispiel 1b: PowerShells -Contains ist sehr streng
Contains kann frustrierend sein, weil es so wählerisch ist. Nach einer Weile erkennt man, dass dies nur ein Design-Feature ist. Wenn Sie es nicht mögen, versuchen Sie -Match.
# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flats","Bungalow")$ArraySimple -Contains "Flat"# Result PS> False
Anmerkung 1: -Contains interpretiert „Flats“ und „Flat“ als unterschiedlich und gibt daher False zurück; es spielt keine Rolle, dass Flat eine Untermenge von Flats ist.
Herausforderung: Ersetzen Sie -Match durch -Contains.
Guy Recommends: Free WMI Monitor for PowerShell (FREE TOOL)
Windows Management Instrumentation (WMI) ist einer der verborgenen Schätze von Microsofts Betriebssystemen. Glücklicherweise hat SolarWinds einen kostenlosen WMI-Monitor für PowerShell erstellt, damit Sie diese Schätze an Leistungsinformationen entdecken und so Ihre PowerShell-Skripte verbessern können.
Nehmen Sie dem Rätselraten ein Ende, welche WMI-Zähler beim Skripten des Betriebssystems, Active Directory oder Exchange Server verwendet werden sollen. Probieren Sie diesen WMI-Monitor aus – er ist kostenlos.
SolarWinds WMI Monitor Download 100% Free Tool
Beispiel 2: Suchen eines Wertes in einer Sammlung
-Contains wäre meine Wahl der bedingten Operatoren für Situationen, in denen ich auf ein bestimmtes Element in einer Sammlung, einem Array oder einer Hashtabelle testen wollte.
# PowerShell -Contains$Collection = "Peter Smith", "Paula Harris", "Joan Evans"$Collection -Contains "Paula"# Result PS> False
Anmerkung 2: Wenn Sie kodieren: $Collection -Contains „Paula Harris“
Das Ergebnis wäre: True. Sie benötigen eine exakte Übereinstimmung des vollständigen Elements.
Beispiel 3: PowerShell -Contains Spreadsheet
Angenommen, wir möchten in einer Datei namens links.csv suchen. Außerdem können wir Import-Csv verwenden, um die Daten zu lesen, damit wir die Werte mit -Contains testen können.
Vorbereitung
Mein Spreadsheet heißt links.csv
Ich habe die Datei in D:\PowerShell gespeichert
Der Spaltenname ist „Custom channel“
Siehe Screenshot rechts.
Guy Recommends: Network Performance Monitor (FREE TRIAL)
SolarWinds Network Performance Monitor (NPM) hilft Ihnen herauszufinden, was in Ihrem Netzwerk passiert. Das Dashboard zeigt Ihnen an, ob die Ursache eine defekte Verbindung, fehlerhafte Geräte oder eine Überlastung der Ressourcen ist.
Am besten gefällt mir, dass NPM Lösungen für Netzwerkprobleme vorschlägt. Es bietet auch die Möglichkeit, den Zustand einzelner virtueller VMware-Maschinen zu überwachen. Wenn Sie an der Fehlersuche und der Erstellung von Netzwerkkarten interessiert sind, empfehle ich Ihnen, NPM im Rahmen einer 30-tägigen kostenlosen Testversion auszuprobieren.
SolarWinds Network Performance Monitor Download 30-day FREE Trial
Beispiel 4: PowerShell -CContains
Wie bei den anderen bedingten Operatoren der PowerShell können Sie die Groß- und Kleinschreibung erzwingen, indem Sie dem Befehl ein ‚C‘ voranstellen; CContains ist kein Tippfehler!
Anmerkung 4: Der Punkt ist, dass in der Tabelle der Wert eindeutig ‚LinkTop‘ ist, wenn wir die Groß-/Kleinschreibung mit CContains erzwingen, ist dies nicht dasselbe wie ‚linktop‘, daher ein falsches Ergebnis.
Beispiel 5: PowerShell -NotContains
Das negative -NotContains ist nicht so nützlich wie -NotMatch. Nach dem, was wir bereits gelernt haben, ist die Syntax jedoch vorhersehbar.
Hinweis 5: Denken Sie daran, dass bei -Contains und damit auch bei -NotContains die Übereinstimmung exakt sein muss. Es gibt keinen ‚Benutzerdefinierten Kanal‘ mit dem Namen von genau ‚Link‘.
Sehen Sie mehr über PowerShells -Like-Vergleiche“
Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)
Dieses Engineer’s Toolset bietet eine umfassende Konsole mit 50 Dienstprogrammen zur Behebung von Computerproblemen. Guy sagt, dass es mir hilft, die Vorgänge im Netzwerk zu überwachen, und dass ich mit jedem Tool mehr über die Funktionsweise des zugrundeliegenden Systems erfahre.
Es gibt so viele gute Gadgets, dass man sich wie in einem Süßwarenladen fühlt. Zum Glück sind die Dienstprogramme logisch geordnet: Überwachung, Netzwerkerkennung, Diagnose und Cisco-Tools. Probieren Sie das SolarWinds Engineer’s Toolset jetzt 14 Tage lang kostenlos aus!
SolarWinds Engineer’s Toolset Download 14-tägige KOSTENLOSE Testversion
Über_Operatoren
# For even more information about PowerShell Operators try:Get-Help about_Operators
Hier ist die Liste der Typen der PowerShell-Operatoren
Siehe auch PowerShell’s -.Match“
„
Zusammenfassung des PowerShell-Operators -Contains Conditional Operator
Wenn Sie einen genauen Wert suchen, dann wäre -Contains meine erste Wahl als bedingter Operator. -Match oder -Like eignen sich besser für Szenarien, in denen Sie nur eine teilweise Übereinstimmung oder eine Liste von Elementen benötigen.
Weitere Beispiele für die Windows PowerShell-Ablaufsteuerung
– PowerShell Home – PowerShell If Statement – PowerShell ElseIf – Free Permissions Analyzer
– Bedingungsoperatoren – PowerShell -Match – PowerShell -Like – PowerShell -Contains
– PowerShell-Vergleichsoperatoren – PowerShell Syntax – Where Filter – PowerShell Else
Bitte mailen Sie mir, wenn Sie ein besseres Beispielskript haben. Bitte melden Sie mir auch sachliche Fehler, grammatikalische Fehler oder defekte Links, ich werde den Fehler gerne korrigieren.