Command Prompt vs. PowerShell – Ein Leitfaden für Anfänger – Teil 1

PowerShell wurde von Microsoft gemeinsam mit Windows 7 eingeführt. Es ist eine leistungsstarke Plattform für die kommandozeilenbasierte Instruktion von Betriebssystemen. Im Gegensatz zu Batch Files sind die Skripten, die in PowerShell geschrieben wurden, Programmen sehr ähnlich. Im Folgenden können Sie mehr über die Unterschiede zwischen Command Prompt und PowerShell erfahren. Außerdem lernen Sie, wie Sie PowerShell nutzen können, um Administrationsaufgaben zu automatisieren.

 

Was ist PowerShell?

 

PowerShell ist ein Scripting Framework für die Automatisierung von Aufgaben. Es basiert auf dem .NET Framework und besteht aus einem Kommandozeileninterpreter und einer Skriptsprache. Diese Kombination erlaubt es Administratoren eine Vielzahl ihrer alltäglichen Aufgaben zu automatisieren. Gleichzeitig bietet PowerShell Entwicklern eine umfassende Bibliothek von Funktionen.

 

Um .NET Prozesse leichter zugänglich zu machen, verwendet PowerShell cmdlets (‚command lets‘). Sie können sich cmdlets wie Werkzeuge vorstellen, die in PowerShell Skripten verwendet werden können. PowerShell ist bereits mit einer Reihe an cmdlets ausgestattet. Entwickler können aber natürlich auch ihre eigenen cmdlets erstellen. PowerShell lässt sich außerdem leicht mit dem Component Object Model (COM) verbinden. Das ermöglicht die Entwicklung von komplexeren PowerShell Skripten, die andere, auf Windows basierende, Anwendungen nutzen können, um Daten auszutauschen, Befehle zu erteilen und Statusnachrichten zu erhalten. Diese Möglichkeit ist besonders nützlich für Entwickler von Applikationen, die PowerShell verwenden.

 

Das Interface zu WMI, das in PowerShell integriert ist, hingegen, ist interessanter für Administratoren. Windows Management Instrumentation (WMI) Objekte werden als cmdlets bereitgestellt. Das bedeutet, es ist möglich den Status eines Geräts oder eines laufenden Programms auf Windows abzufragen und die Ergebnisse im PowerShell Skript zu integrieren.
Das stellt einen praktischen Statusüberprüfung von Conditional Processing und Branching in einem Skript dar. Außerdem ist es hilfreich, um Erfolge und Misserfolge eines Ausführungsschrittes rückzumelden.

 

PowerShell vs. CMD

 

DOS Kommandozeilenbefehle sind immer noch sehr nützlich, um einfache Aufgaben zu erledigen. Sie werden beispielsweise genutzt um eine Reihe von Befehlen gemeinsam auszuführen und um benutzerdefiniert zu arbeiten. Häufig werden Sie auch genutzt, um Administrationsaufgaben der Reihe nach zu starten. So können diese zeitlich festgelegt und nach einem fixen Plan außerhalb der Bürozeiten ablaufen.

 

Alle der bekannten DOS Kommandozeilenoperatoren und Werkzeuge sind auch in PowerShell verfügbar. Aber der Zugang, den PowerShell auf WMI und andere Systemdienste hat, macht es leistungsstärker. Bei PowerShell handelt es sich daher, sozusagen um ein DOS+.

 

Wann sollte ich PowerShell verwenden?

 

Wenn Sie sich unsicher dabei fühlen PowerShell das erste Mal zu verwenden, beginnen Sie am besten mit einem ihrer bereits existierenden Batch Jobs und verwenden PowerShell cmdlets, um diesen zu verbessern.

 

Als Sie Ihre einfachen Skripten für einen Batch Job geschrieben haben, haben Sie sich vielleicht gedacht „Wenn ich nur … tun könnte“. PowerShell könnte diese Wünsche wahr werden lassen. Das Problem, das die meisten Menschen zu Beginn mit PowerShell haben sind die vielen Möglichkeiten. Vielen erfahrenen Administratoren gibt es das Gefühl nicht mehr auf dem neuesten Stand zu sein. Oft ist es auch einfach angenehmer bei dem zu bleiben, was man kennt. Dennoch sollten Sie PowerShell nicht als Bedrohung ihrer Arbeitsroutine sehen. Probieren Sie einfach jedes Mal ein kleines bisschen mehr aus und bald werden Ihnen die PowerShell cmdlets genauso vertraut sein wie DOS.

 

Ist PowerShell gefährlich?

 

Wie jede andere Skriptsprache, kann auch PowerShell für böswillige Aktivitäten missbraucht werden. Es gibt Computerwürmer und Malware, die PowerShell nutzen.
Um einige dieser Gefahren zu bekämpfen, führte Microsoft bestimmte Features in der PowerShell Umgebung ein. Eine davon ist Execution Policies. PowerShell Execution Policies gibt Administratoren die Kontrolle über die Skripten, die auf einem System laufen können. Die Voreinstellungen lassen es nicht zu, dass Skripten einfach so ausgeführt werden. Allerdings besteht die Option, dass Skripten von vertrauten Quellen uneingeschränkt laufen können.

 

Wo finde ich Beispiele für PowerShell Skripten?

 

Dieser Artikel war eine Einführung in PowerShell. Er stellt den Beginn einer Reihe von Leitfäden dar, die die Arbeitsweise von PowerShell und seine Verwendungsmöglichkeiten noch genauer erklären. Lesen Sie die nächsten Kapitel in dieser Serie, um praktische Anleitungen für PowerShell und PSA Atera zu erhalten. Dort finden Sie auch Beispiel von PowerShell Skripten und den am häufigsten gebrauchten cmdlets.