PowerShell-Befehle, die jeder Windows-Administrator kennen sollte

PowerShell kombiniert die Geschwindigkeit der Befehlszeile mit der Flexibilität einer Skriptsprache und ist damit ein wertvolles Windows-Administrationswerkzeug. Hier sind ein paar grundlegende Befehle, die Sie beherrschen sollten.

In den letzten Jahren hat Microsoft versucht, PowerShell zum Management-Tool der Wahl zu machen. Fast alle neueren Microsoft-Serverprodukte benötigen PowerShell, und es gibt viele Verwaltungsaufgaben, die ohne die Einarbeitung in die Befehlszeile nicht ausgeführt werden können. Als Windows-Administrator müssen Sie mit den Grundlagen der Verwendung von PowerShell vertraut sein. Hier sind 10 Befehle, um Ihnen den Einstieg zu erleichtern.

Hinweis: Dieser Artikel ist auch als PDF-Download verfügbar.

1: Erste Hilfe
Das erste PowerShell-Cmdlet, das jeder Administrator lernen sollte, ist Get-Help. Du kannst diesen Befehl verwenden, um Hilfe zu jedem anderen Befehl zu erhalten. Wenn Sie beispielsweise wissen möchten, wie der Befehl Get-Process funktioniert, können Sie Folgendes eingeben:

Get-Help -Name Get-Prozess
und Windows zeigt die vollständige Befehlssyntax an.

Sie können Get-Help auch mit einzelnen Substantiven und Verben verwenden. Um beispielsweise alle Befehle herauszufinden, die Sie mit dem Get verb verwenden können, geben Sie Folgendes ein:

Get-Help -Name Get-*
2: Ausführungsrichtlinie festlegen
Obwohl Sie PowerShell-Skripte erstellen und ausführen können, hat Microsoft das Scripting standardmäßig deaktiviert, um zu verhindern, dass bösartiger Code in einer PowerShell-Umgebung ausgeführt wird. Mit dem Befehl Set-ExecutionPolicy können Sie das Sicherheitsniveau um PowerShell-Skripte herum steuern. Vier Sicherheitsstufen stehen Ihnen zur Verfügung:

Eingeschränkt – Eingeschränkt ist die Standard-Ausführungsrichtlinie und sperrt PowerShell nach unten, so dass Befehle nur interaktiv eingegeben werden können. PowerShell-Skripte dürfen nicht ausgeführt werden.
Alle signiert – Wenn die Ausführungsrichtlinie auf Alle signiert gesetzt ist, dürfen Skripte ausgeführt werden, jedoch nur, wenn sie von einem vertrauenswürdigen Publisher signiert sind.
Remote signiert – Wenn die Ausführungsrichtlinie auf Remote signiert eingestellt ist, werden alle PowerShell-Skripte, die lokal erstellt wurden, ausgeführt. Skripte, die remote erstellt wurden, dürfen nur ausgeführt werden, wenn sie von einem vertrauenswürdigen Publisher signiert wurden.
Uneingeschränkt – Wie der Name schon sagt, entfernt Uneingeschränkt alle Einschränkungen aus der Ausführungsrichtlinie.
Sie können eine Ausführungsrichtlinie festlegen, indem Sie den Befehl Set-ExecutionPolicy eingeben, gefolgt von dem Namen der Richtlinie. Wenn Sie beispielsweise Skripte uneingeschränkt ausführen lassen möchten, können Sie Folgendes eingeben:

Set-ExecutionPolicy Uneingeschränkte Ausführung
3: Ausführungsrichtlinie abrufen
Wenn Sie auf einem unbekannten Server arbeiten, müssen Sie wissen, welche Ausführungsrichtlinie verwendet wird, bevor Sie versuchen, ein Skript auszuführen. Das können Sie mit dem Befehl Get-ExecutionPolicy herausfinden.

4: Get-Service
Der Befehl Get-Service bietet eine Liste aller Dienste, die auf dem System installiert sind. Wenn Sie an einem bestimmten Dienst interessiert sind, können Sie den Schalter -Name und den Namen des Dienstes anhängen (Platzhalter sind erlaubt). Dabei zeigt Ihnen Windows den Status des Dienstes an.

5: ConvertTo-HTML konvertieren
PowerShell kann eine Vielzahl von Informationen über das System bereitstellen, aber manchmal müssen Sie mehr tun, als nur die Informationen auf dem Bildschirm anzuzeigen. Manchmal ist es hilfreich, einen Bericht zu erstellen, den man an jemanden senden kann. Eine Möglichkeit, dies zu erreichen, ist die Verwendung des Befehls ConvertTo-HTML.

Um diesen Befehl zu verwenden, übergeben Sie einfach die Ausgabe eines anderen Befehls an den Befehl ConvertTo-HTML. Sie müssen mit dem Schalter -Property steuern, welche Ausgabeeigenschaften in der HTML-Datei enthalten sind, und einen Dateinamen angeben.

Um zu sehen, wie dieser Befehl verwendet werden kann, denken Sie an den vorherigen Abschnitt, in dem wir Get-Service eingegeben haben, um eine Liste aller Dienste zu erstellen, die auf dem System installiert sind. Stellen Sie sich nun vor, Sie möchten einen HTML-Bericht erstellen, der den Namen jedes Dienstes zusammen mit seinem Status auflistet (unabhängig davon, ob der Dienst ausgeführt wird). Um dies zu tun, kannst du den folgenden Befehl verwenden:

Get-Service | ConvertTo-HTML -Eigenschaftsname, Status > C:\services.htm
6: Export – CSV
So wie Sie einen HTML-Bericht basierend auf PowerShell-Daten erstellen können, können Sie auch Daten aus PowerShell in eine CSV-Datei exportieren, die Sie mit Microsoft Excel öffnen können. Die Syntax ist ähnlich wie bei der Konvertierung der Ausgabe eines Befehls in HTML. Sie müssen mindestens einen Ausgabedateinamen angeben. Um beispielsweise die Liste der Systemdienste in eine CSV-Datei zu exportieren, können Sie den folgenden Befehl verwenden:

Get-Service | Export-CSV c:\service.csv
7: Objekt auswählen
Wenn Sie den obigen Befehl verwendet haben, wissen Sie, dass es zahlreiche Eigenschaften in der CSV-Datei gab. Es ist oft hilfreich, die Dinge einzugrenzen, indem man nur die Objekte einbezieht, für die man sich wirklich interessiert. An dieser Stelle kommt der Befehl Select-Object ins Spiel. Mit dem Befehl Select-Object können Sie bestimmte Eigenschaften für die Aufnahme angeben. Um beispielsweise eine CSV-Datei zu erstellen, die den Namen jedes Systemdienstes enthält, gehen Sie wie folgt vor