Warum werden Windows PowerShell-Befehle als Cmdlets bezeichnet?
Bei der Arbeit mit Windows PowerShell sind Sie möglicherweise auf den Begriff Cmdlet gestoßen und etwas verwirrt. Ist ein Cmdlet etwas völlig anderes als ein Befehl oder ist es nur der Name der PowerShell für sie? Der heutige Q & A-Beitrag von SuperUser hat die Antwort auf die Frage eines neugierigen Lesers.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
SuperUser Reader RBT möchte wissen, warum Windows PowerShell-Befehle als Cmdlets bezeichnet werden:
Ich habe versucht, die Nomenklatur herauszufinden, warum die Befehle in PowerShell als Befehl-Lets (Cmdlets) bezeichnet werden. Warum werden sie nicht einfach als Befehle bezeichnet? Was ist der Unterschied?
Ich konnte aufgrund dieses Wikipedia-Artikels über PowerShell nur vermuten, dass es irgendwie eine Abkürzung der Befehlszeilenschnittstelle für die Interaktion mit in .Net geschriebenen Befehlen sein kann.
Warum werden Windows PowerShell-Befehle als Cmdlets bezeichnet?
Die Antwort
SuperUser-Mitwirkender LotPings hat die Antwort für uns:
Laut Microsoft:
Ein Cmdlet ist ein einfacher Befehl, der in der Windows PowerShell-Umgebung verwendet wird. Die Windows PowerShell-Laufzeitumgebung ruft diese Cmdlets im Kontext von Automatisierungsskripts auf, die in der Befehlszeile bereitgestellt werden. Die Windows PowerShell-Laufzeitumgebung ruft sie auch programmgesteuert über Windows PowerShell-APIs auf.
Wie unterscheiden sich Cmdlets von Befehlen?
Cmdlets unterscheiden sich auf folgende Weise von Befehlen in anderen Command-Shell-Umgebungen:
- Cmdlets sind Instanzen von .NET Framework-Klassen. Sie sind keine eigenständigen ausführbaren Dateien.
- Cmdlets können aus weniger als einem Dutzend Codezeilen erstellt werden.
- Cmdlets führen im Allgemeinen keine eigene Analyse, Fehlerdarstellung oder Ausgabeformatierung aus. Analyse, Fehlerdarstellung und Ausgabeformatierung werden von der Windows PowerShell-Laufzeitumgebung verarbeitet.
- Cmdlets verarbeiten Eingabeobjekte aus der Pipeline und nicht aus Textströmen. Cmdlets liefern normalerweise Objekte als Ausgabe an die Pipeline.
- Cmdlets sind datensatzorientiert, da sie jeweils ein einzelnes Objekt verarbeiten.
Quelle: Cmdlet-Übersicht [Microsoft]
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.