Der Weg von der Kommandozeile zu PowerShell
Vor vielen Jahrzehnten am 12. August 1981 erblickte Microsofts erstes Betriebssystem für x86-PCs unter dem Namen MS-DOS das Licht der Welt. Dieses Microsoft Disk Operating System besaß zunächst keine grafische Benutzeroberfläche und begrüßte den Nutzer mit der Kommandozeile C:\>. Seinerzeit musste der PC mit händisch eingetippten Befehlen dazu gebracht werden, Programme auszuführen, Ordner anzuzeigen und Dateien zu kopieren oder zu verschieben. Selbst nachdem eine hübsche grafische Bedienoberfläche eingeführt wurde, blieb die Kommandozeile (CMD) viele Jahrzehnte erhalten. 2006 war es soweit und Microsoft führte eine neue Shell-Anwendung namens PowerShell ein, die insbesondere von Administratoren mehr als geschätzt wird und ein fester Bestandteil der modernen Windows-Betriebssysteme ist. Doch was ist der Unterschied zwischen PowerShell und CMD? Und welche Vorteile sprechen für die neuere Lösung? In diesem Blogbeitrag lassen wir PowerShell vs. CMD antreten, um auf diese Fragen eine Antwort zu geben.
Was ist CMD bzw. die Windows-Kommandozeile?
CMD ist eine native Anwendung des Windows-Betriebssystems. Technisch gesehen handelt es sich bei der Eingabeaufforderung um einen Befehlszeileninterpreter, dessen Zweck es ist, Ihnen die Eingabe von Befehlen mit einer speziellen Syntax zu ermöglichen. Die an die Eingabeaufforderung gesendeten Befehle werden als Textzeilen eingegeben, die vom Betriebssystem ausgeführt werden, sobald Sie die Eingabetaste auf Ihrer Tastatur drücken. Im Gegensatz zu normalen Apps, die grafische Benutzeroberflächen verwenden, hat die Eingabeaufforderung per se keine visuelle Oberfläche.
Obwohl es für normale Benutzer wohl schwieriger ist, die Eingabeaufforderung zu lernen und zu verwenden, als moderne Apps mit grafischen Benutzeroberflächen, kann dieses Tool in bestimmten Situationen nützlich sein. Als besondere Stärke ist zu nennen, dass CMD eine direkte Kommunikationslinie mit dem Betriebssystem bietet. Mit anderen Worten, wenn Sie die richtigen Befehle kennen, können Sie mit der Eingabeaufforderung mehr tun als mit einer normalen App. Obwohl es für die meisten Benutzer normalerweise ausreicht, die Maus zum Arbeiten mit Windows zu verwenden, gibt die Eingabeaufforderung ein höheres Maß an Kontrolle über das Betriebssystem und einen Zugriff auf Optionen und Tools, die sonst nicht verfügbar sind.
Unserem Blogbeitrag „Windows Kommandozeile – die wichtigsten Befehle in der Übersicht“ können Sie einige der zahlreichen Befehle entnehmen.
Bis zum Windows 10 Buid 14791 war CMD die Standard-Shell, die als letztes Überbleibsel des ursprünglichen MS-DOS-Betriebssystems angesehen werden kann.
Was ist die Windows PowerShell?
PowerShell ist eine Scripting- und Automatisierungsplattform von Microsoft. Es ist sowohl eine Skriptsprache als auch eine interaktive Befehlsumgebung, die auf dem .NET Framework basiert.
Viele mühsame Verwaltungsaufgaben können mit dem Tool automatisiert und damit schneller gelöst werden. Sie können zum Beispiel PowerShell verwenden, um eine Aufstellung zu sämtlichen USB-Geräten zu erhalten, die sich auf einem oder mehreren Rechnern in einem Netzwerk im Einsatz befinden. Auch können Sie auf einfachem Wege die Prozesse identifizieren und beenden, die nicht reagieren und die Systemstabilität gefährden. Darüber hinaus können Sie PowerShell verwenden, um bestimmte Informationen über PCs in einem Netzwerk zu filtern und diese in eine HTML-Datei zu exportieren.
Die PowerShell-Befehle werden Cmdlets genannt. Über die Eingabe von “Get-Command -Type Cmdlet” erhalten Sie eine Aufstellung zu den verfügbaren Cmdlets.
Viele der gängigen Eingabeaufforderungsbefehle, darunter auch ipconfig und cd, können auch in der PowerShell-Umgebung verwendet werden. Dies ist darauf zurückzuführen, dass bei PowerShell „Aliasnamen“ vorgehalten werden, die auf neue Cmdlets mit gleicher Funktion verweisen.
Was sind die Unterschiede zwischen PowerShell und CMD?
PowerShell stellt zahlreiche Cmdlets bereit, die von der Verwaltung der Registrierung bis hin zu WMI (Windows Management Instrumentation) einige Systemverwaltungsaufgaben erledigen lassen. Bei der Eingabeaufforderung gibt es diese Möglichkeiten nicht.
CMD ist ein Shell-System, das Benutzer darauf beschränkt, nur einfache und grundlegende Batchdateien auszuführen. PowerShell ist sowohl eine Shell als auch eine Skriptumgebung, die die Erstellung großer und komplexer Dateien zur Verwaltung des Windows-Systems unterstützt.
Bei PowerShell können Sie die Ausgabe eines Cmdlets an die Eingabe eines anderen Cmdlets übergeben. Demnach verwendet PowerShell sogenannte Pipes, die unter anderem Nutzern von Linux-Systemen ein Begriff sind. Es können dieselben Daten über mehrere Schritte hinweg bearbeitet werden. Während Unix-ähnliche Systeme nur Zeichenströme (Text) weiterleiten können, leitet PowerShell vollständige Objekte weiter. Da in PowerShell nahezu alles ein Objekt ist, einschließlich der Cmdlet-Antworten, können sehr komplexe Daten ausgetauscht werden. Die Funktionsweise gleicht daher einer Programmiersprache.
Der bemerkenswerteste Vorteil ist die Erweiterbarkeit von PowerShell. Während Sie Tools für beide erstellen können, indem Sie Skripts schreiben, ist die Eingabeaufforderung als Interpreter begrenzt. Obwohl Sie den VBScript -Weg gehen und den cscript-Interpreter verwenden können, ist es letztendlich einfacher, direkt PowerShell zu schreiben und die Vorteile von Modulen, der nativen .NET-Integration und der PowerShell-Pipeline zu nutzen.
Mit Erweiterbarkeit und einem objektorientierten Ansatz ergibt sich die Möglichkeit, eine Reihe von Plattformen zu verwalten. PowerShell-Module können die meisten, wenn nicht alle Microsoft-Produkte wie Exchange, SQL Server und Cloud-Angebote wie Office 365 und Azure Active Directory verwalten.
Ein Beispiel für die Leistungsfähigkeit von PowerShell
Zweifelsohne kann PowerShell als die erste Wahl von vielen IT-Administratoren bezeichnet werden, da es insbesondere in großen Unternehmensnetzwerken zeitintensive Verwaltungsvorgänge vereinfachen kann.
Angenommen, Sie müssen bei einem Netzwerk mit über vierhundert Servern eine neue Sicherheitslösung implementieren, die einen bestimmten Dienst voraussetzt, der auf dem jeweiligen Server ausgeführt werden muss. Sich auf jedem Server anzumelden und dort zu überprüfen, ob der benötigte Dienst installiert ist und ausgeführt wird, ist zwar möglich, wäre aber mit einem enormen Zeitaufwand verbunden. Mit PowerShell können Sie diese Aufgabe in wenigen Minuten erledigen, indem Sie ein Skript erstellen und ausführen. Dieses Skript kann die erforderlichen Informationen automatisch sammeln und in eine Textdatei zum anschließenden Auswerten schreiben.
Wenn Sie ein aktuelles Betriebssystem wie Windows 11 kaufen möchten, um die Funktionen von PowerShell zu nutzen, sind Sie bei BestSoftware genau richtig. Wir bieten Ihnen die Windows-Betriebssysteme zum besten Preis an.
Comments