Kapitel 22. Daten vergleichen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

22.0 Einleitung

Wenn du in der PowerShell arbeitest, ist es üblich, dass du mit Sammlungen von Objekten arbeitest. Die meisten PowerShell-Befehle erzeugen Objekte, ebenso wie viele der Methoden, mit denen du im .NET Framework arbeitest. Um dir die Arbeit mit diesen Objektsammlungen zu erleichtern, gibt es in der PowerShell das Cmdlet Compare-Object. Das Cmdlet Compare-Object bietet ähnliche Funktionen wie die bekannten diff Befehle, jedoch mit einer objektorientierten Ausrichtung.

22.1 Vergleich der Ausgabe von zwei Befehlen

Problem

Du möchtest die Ausgabe von zwei Befehlen vergleichen.

Lösung

Um die Ausgabe zweier Befehle zu vergleichen, speicherst du die Ausgabe der beiden Befehle in Variablen und verwendest dann das Cmdlet Compare-Object, um diese Variablen zu vergleichen:

PS > notepad
PS > $processes = Get-Process
PS > Stop-Process -ProcessName Notepad
PS > $newProcesses = Get-Process
PS > Compare-Object $processes $newProcesses

InputObject                           SideIndicator
-----------                           -------------
System.Diagnostics.Process (notepad)  <=

Diskussion

Die Lösung zeigt, wie man feststellt, welche Prozesse zwischen den beiden Aufrufen von Get-Process beendet wurden. Die SideIndicator von <= sagt uns, dass der Prozess in der linken Sammlung ($processes) vorhanden war, aber nicht in der rechten ($newProcesses). Um mit dem tatsächlichen ...

Get PowerShell Kochbuch, 4. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.