PowerShell ist ein integriertes Windows-Dienstprogramm, das eine umfangreiche Skriptsprache enthält. Wenn Sie es gewohnt sind, .bat-Dateien zu schreiben, um Befehlszeilenaktionen auszuführen, werden Sie von allem, was PowerShell tun kann, beeindruckt sein. Bitte beachten Sie, dass ich (noch) kein PowerShell-Guru bin. Während ich damit gearbeitet habe, hat es mich so beeindruckt, dass ich die treuen Leser von WindowsTips vorstellen wollte.

Sie können PowerShell auf verschiedene Arten starten. Dies hängt davon ab, welche Windows-Version Sie ausführen. Obwohl ich verschiedene Arten des Aufrufs erwähne, werde ich mich daher auf die Verwendung von PowerShell über die Befehlszeile konzentrieren.

Eine Möglichkeit, PowerShell aufzurufen, besteht darin, ein Befehlszeilenfenster zu öffnen (das unter einem anderen Tipp behandelt wird) und „PowerShell“ (ohne Anführungszeichen) gefolgt von der Eingabetaste einzugeben. Eine andere Möglichkeit besteht darin, die Suchfunktionen von Windows zu verwenden, um nach „Windows PowerShell“ zu suchen. Eine dritte Möglichkeit besteht darin, erneut nach „Windows PowerShell“ zu suchen und das Suchergebnis „Windows PowerShell ISE“ auszuwählen. Wenn Sie in der neuesten Version von Windows 10 dieses Element auswählen, wird auf der linken Seite des Bildschirms ein geteilter Bildschirm angezeigt, in dem Sie interaktiv PowerShell-Befehle eingeben und auf der linken Seite des Bildschirms eine PowerShell-Skriptdatei erstellen können.

Der Windows PowerShell ISE-Bildschirm sieht folgendermaßen aus: (Siehe Abbildung 1.)

image

Abbildung 1. Windows PowerShell ISE.

Wenn Sie eine frühere Version von Windows 10 verwenden, wird bei Auswahl dieses Elements ein geteilter Bildschirm angezeigt, in dem Sie interaktiv PowerShell-Befehle am unteren Bildschirmrand eingeben und oben auf dem Bildschirm eine PowerShell-Skriptdatei erstellen können. Dieser geteilte Bildschirm sieht möglicherweise folgendermaßen aus: (Siehe Abbildung 2.)

image

Abbildung 2. PowerShell ISE.

Sobald Sie in PowerShell sind, beschäftigen Sie sich hauptsächlich mit „Cmdlets“. Die Cmdlets folgen einem Muster von Verb-Nomen. Um beispielsweise Hilfe in PowerShell zu erhalten, geben Sie Get-Help ein und drücken Sie die Eingabetaste. Es gibt weitere Tipps zu PowerShell. Wenn Sie jedoch nicht warten können, sollten Sie zunächst die folgenden Hilfethemen durchgehen:

PS> Get-Help Get-Command PS> Get-Help Get-Member PS> Get-Help Where-Object PS> Get-Help About_Object

Der erste Befehl gibt Informationen zu Cmdlets zurück, während der zweite die Eigenschaften und Methoden eines Objekts abruft. Der dritte Befehl filtert Objekteigenschaften und der letzte Befehl erläutert die Verwendung von Objekten in PowerShell.

Ein PowerShell-Skript kann etwas ausführlich sein, daher enthält es sogenannte Aliase, die Verknüpfungen für viele der beliebtesten Cmdlets darstellen. Anstatt beispielsweise Get-Help einzugeben, können Sie einfach Help eingeben. Geben Sie Get-Alias ​​an der PS-Eingabeaufforderung ein, um eine Liste der vorhandenen Aliase anzuzeigen.

PowerShell-Skripts sind normale Textdateien, die mit der Erweiterung .ps1 enden und eine Folge von Cmdlets enthalten, mit denen eine Funktion ausgeführt werden soll. Sie können beispielsweise ein PowerShell-Skript schreiben, das der Konsole „Hallo“ anzeigt. Bevor Sie jedoch Skripte ausführen können, müssen Sie zuerst die Sicherheitsumgebung einrichten. Befolgen Sie diese Schritte:

Rufen Sie die Windows-Befehlszeile auf und geben Sie Als Administrator ausführen

an Rufen Sie PowerShell auf, indem Sie an der Eingabeaufforderung „PowerShell“ eingeben

Geben Sie an der PowerShell-Eingabeaufforderung Set-ExecutionPolicy RemoteSigned

ein Diese Schritte müssen nur einmal ausgeführt werden, damit Sie fortan Skripte ausführen können. Starten Sie nun Notepad und geben Sie Folgendes ein:

Write-Output "Hello"

Beenden Sie Notepad, und benennen Sie Ihre Datei Hello.ps1. Stellen Sie sicher, dass sie in dem von Ihrer PowerShell-Sitzung angegebenen Verzeichnis gespeichert ist. (Der Verzeichnisname ist Teil der PowerShell-Eingabeaufforderung. Ich habe ein C: \ PowerShell-Verzeichnis, in dem ich alle meine .ps1-Dateien speichere.) Geben Sie in Ihrer PowerShell-Eingabeaufforderung „. \ Hello.ps1“

ein und Sie sollten sehen, dass Ihr Skript ausgeführt wird, d. h. das Wort „Hallo“ wird auf dem Bildschirm angezeigt.

Über PowerShell kann noch viel mehr gesagt werden, aber da dies ein Einführungstipp ist, möchte ich nur noch ein paar Dinge erwähnen. Da es immer empfehlenswert ist, Ihre Skripte zu kommentieren, sollten Sie wissen, dass das PowerShell-Kommentarzeichen das Symbol „#“ ist. Alles, was rechts von diesem Charakter erscheint, wird ignoriert. Wenn Sie von Sonderzeichen sprechen und eine PowerShell-Zeile zu einer anderen Zeile fortsetzen möchten, beenden Sie die erste Zeile mit einem Akzentgrab („` „), das manchmal als Backtick-Zeichen oder Rückwärtsapostroph bezeichnet wird.

Eine andere Sache, an die man sich gewöhnen muss, ist die Fähigkeit, die Ausgabe eines Befehls an einen anderen weiterzuleiten. Bei PowerShell-Skripten werden Cmdlets häufig an andere Cmdlets weitergeleitet. Das Pipe-Zeichen ist das „|“ Symbol. So können Sie beispielsweise die Ausgabe eines Cmdlets auf verschiedene Arten formatieren, indem Sie sie in eines der Cmdlets „Format“ leiten. Angenommen, Sie möchten die Eigenschaften einer Datei mit dem Namen „C: \ Temp \ VmwareStatus.log“ abrufen. Sie können dies mit dem Cmdlet Get-ItemProperty wie folgt tun:

PS> Get-ItemProperty C: \ Temp \ VmwareStatus.log

Standardmäßig werden die Eigenschaften der Datei in einem Tabellenformat angezeigt.

Wenn die Eigenschaften in einer Liste angezeigt werden sollen, können Sie die Ausgabe an das Cmdlet Format-List weiterleiten:

PS> Get-ItemProperty C: \ Temp \ VmwareStatus.log | Format-Liste

Wenn Sie zur vertrauten Befehlszeilenumgebung zurückkehren möchten, geben Sie einfach „cmd“ an der PowerShell-Eingabeaufforderung ein. Um diese Umgebung zu verlassen, geben Sie einfach „Beenden“ ein. Um PowerShell zu beenden, geben Sie auch „Beenden“ ein.

Dieser Tipp (13506) gilt für Windows 7, 8 und 10.