Per Windows PowerShell Ausgabe in Datei speichern

Eine PowerShell Ausgabe in Datei speichern

Grundlagen zum Speichern der PowerShell Ausgaben

Eine PowerShell Ausgabe in Datei weiterleiten, ist eine Aufgabe, welche man als Administrator im Prinzip oft durchführen muss. Man denke dabei nur an Logfiles.

In der Regel gibt die PowerShell die Ergebnisse auf dem Bildschirm aus. Möchte man die Ausgabe in eine Textdatei speichern, reicht es, wenn man das Cmdlet out-file verwendet. Aber es funktioniert ebenso, wenn man den Weiterleitungsoperator > benützt.

Möchte man die Ergebnisse jedoch als CSV, XML oder HTML speichern, so bietet die PowerShell die drei folgenden Cmdlets. Export-CSV, Export-CliXML und Convertto-html.

Natürlich gibt es neben dem Export auch einen Import. Man kann also genauso gut Inhalte aus CSV oder XML in die PowerShell einlesen.

In den folgenden Beispielen wird für die Weitergabe der Ergebnisse die Pipeline verwendet. Wie man die bei einer Befehlskette anwendet, könnt ihr hier nachlesen.



PowerShell Pipe

How to Powershell Pipeline richtig verwenden

PowerShell Ausgabe in Datei speichern, z.B. TXT, CSV und XML

Ein kleines Beispiel soll die Funktionsweise erläutern. Zunächst lassen wir uns die ersten 6 Prozesse anzeigen, welche am meisten CPU Zeit verbrauchen. Das Ergebnis speichern wir anschließend in eine Variable $P. Anschließend speichern wir die Inhalte einmal als Prozesse.txt, Prozesse.csv und Prozesse.xml Datei ab.

$P = get-process | Sort-Object CPU -Descending | Select-Object -First 6
$P > f:\Prozesse.txt
$P | Export-Csv f:Prozesse.csv
$P | Export-Clixml f:Prozesse.xml
PowerShell Ausgabe in Datei speichern - so gehts
Ausgabe der Datei in unterschiedlichen Formaten

Beispiel für HTML

Relativ einfach geht auch das Speichern in eine HTML-Datei. Man verwendet hierzu das Cmdlet convertto-html.

$P | ConvertTo-Html > f:\Prozesse.html

Da dies eine sehr unübersichtliche Anordnung aller Eigenschaften der Prozesse ist, wäre es sinnvoll nur bestimmte Parameter auszugeben. In unserem Fall lassen wir nur den Namen, Path und CPU ausgeben und in ein HTML Dokument speichern.

$P | ConvertTo-Html -Property Name, Path, CPU > f:\Prozesse.html
Prozesse.html
Prozesse mit den drei Eigenschaften: Name, Path und CPU als HTML

Das Speichern der Ausgabe als HTML bietet wunderschöne Möglichkeiten. Man könnte sich z. B. alle Dienste nach deren Status in unterschiedlichen Farben ausgeben lassen. Für den Einsatz von Farben muss man lediglich den <tr> Tag ersetzen und ihn mit einer Farbe belegen.

Für die Fallunterscheidung, ob der Status nun läuft oder nicht, kann man -like verwenden. Wer noch ein paar Grundlagen-Informationen zu Schleifen und Bedingungen benötigt, kann diese hier nachlesen.

get-service | ConvertTo-Html -Property Name,Status | foreach { if ($_ -like "*<td>Running</td>*") {$_ -replace "<tr>", "<tr bgcolor=green >"} else {$_ -replace "<tr>", "<tr bgcolor=red>"}} > f:\get-service.html
Dienste-als-HTML-Tabelle
Dienste als HTML Tabelle

Dieses und weitere Skripte findest du direkt auf Github zum kostenlosen Downloaden. Um eine PowerShell Ausgabe in Datei weiterzuleiten oder zu speichern, gibt es wieder einfache Cmdlets, welche hierfür angewendet werden können. Hier zeigt sich wieder der große Vorteil der Windows PowerShell.

Mehr PowerShell gibt es in folgenden Udemy Kursen?

Windows 11 – Einführung in Betriebssysteme (1/2)*
Windows 11 PowerShell Cookbook*
Automatisierung mit PowerShell (1/3): Grundlagen*

Das könnte dich auch interessieren:

Empfehlenswerte Literatur zur Windows PowerShell

Dieser Artikel beinhaltet Partner-Links. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhält IT-Learner eine kleine Provision. Der Preis ändert sich für euch nicht. Danke für eure Unterstützung! Letzte Aktualisierung am 18.04.2024

f4aff7f104f94b08b5b9e38480148241
Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte.


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ebook - 10 Schritte nach der Windows Installation

Kostenlose Befehlsreferenzen und

E-Books

FREE

Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.