Sie sind hier:
Wissen
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Medien
Übersicht
Lexikon/Glossar
Spickzettel
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Praxisnahe Fallbeispiele
Downloads
Newsletter
.NET
Startseite
.NET 8.0
.NET 7.0
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Programmiersprachen
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
Konferenzen/Events
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: Commandlet (Cmdlet)
Begriff
Commandlet
Abkürzung
Cmdlet
Eintrag zuletzt aktualisiert am
07.04.2021
Zur Stichwortliste unseres Lexikons
Was ist
Commandlet
?
Ein einzelner Befehl in der PowerShell (inkl.
Windows PowerShell
und
PowerShell Core
) heißt Commandlet (kurz Cmdlet). Ein Commandlet besteht typischerweise aus drei Teilen: einem Verb, einem Substantiv und einer Parameterliste. Verb und Substantiv werden durch einen Schrägstrich voneinander getrennt, die optionalen Parameter durch Leerzeichen. Daraus ergibt sich folgender Aufbau:
Verb-Substantiv [-Parameterliste]
(Achtung: In PowerShell Preview Version 1 war die Syntax noch Verb/Substantiv)
Die Groß- und Kleinschreibung der Commandlet-Namen und der Parameternamen ist irrelevant.
Beispiele
Ein einfaches Beispiel ist:
get-process
Dadurch wird eine
Liste
aller
Prozesse
in der PowerShell ausgegeben. Beachten Sie, dass das Substantiv im Singular steht, auch wenn hier eine Menge von Objekten abgerufen wird. Das Ergebnis muss nicht immer eine
Objektmenge
sein. Beispielsweise liefert
get-location
nur ein Objekt mit dem aktuellen Pfad.
Neben get existieren andere Verben wie set, add, remove, copy, move und rename. Neben diesen Basisoperationen gibt es auch Ausgabekommandos wie out und format. Auch Bedingungen werden durch diese Syntax abgebildet (where-object). Tabelle 1 zeigt eine
Liste
aller in der Version 0.3 implementierten Befehle. Diese
Liste
erhält man in der PowerShell auch durch
get-command
Ein Beispiel für einen Befehl mit Parameter ist:
get-children c:\daten
get-children listet alle Unterobjekte des angegebenen Objekts (c:\daten) auf, also alle Dateien und Ordner unterhalb dieses Dateiverzeichnisses.
Mit
Set-location c:\windows
wechselt man den aktuellen Pfad. Durch so genannte Aliase kann die Eingabe verkürzt werden. So ist dir als Alias für get-children vordefiniert. Der letzte Befehl kann also auch geschrieben werden:
dir c:\.
Ebenso als Alias definiert ist der
DOS
-Befehl cd, der hier set-location maskiert. Durch get-alias (oder den entsprechenden Alias aliases) erhält man eine
Liste
aller vordefinierten Abkürzungen.
Ebenfalls als Einzelbefehl möglich sind mathematische Ausdrücke wie 10* (8 + 6). Alle Eingaben, die nicht als Commandlets oder mathematische Formeln erkannt werden, werden als ausführbare Dateien behandelt. Die Eingabe c:\Windows\Notepad.exe ist daher möglich, um den beliebten Windows-Editor zu starten.
Details zu Commandlets
Gemäß des PowerShell-Konventionen soll es nur eine begrenzte Menge wiederkehrender Verben geben: Get, Set, Add, New, Remove, Clear, Push, Pop, Write, Export, Select, Sort, Update, Start, Stop, Invoke, usw. Außer diesen Basisoperationen gibt es auch Ausgabekommandos wie out und format. Auch Bedingungen werden durch diese Syntax abgebildet (Where-Object).
Die PowerShell erzeugt beim Start einen Prozess. In diesem Prozess laufen alle Commandlets. Dies ist ein Unterschied zum
DOS
-Fenster, bei dem die ausfühbare Dateien (.exe) in eigenen
Prozesse
n laufen.
An vielen Stellen sind Platzhalter bei den Parameterwerten erlaubt.
Eine
Liste
aller
Prozesse
, die mit einem "I" anfangen erhält man so:
Get-Process i*
Die
Liste
aller verfügbaren Commandlets erhält man in der PowerShell auch durch
Get-Command
Hilfe zu einem Commandlet bekommt man über Get-help commandletname, z.B.
Get-Help Get-Process
Hingegen listet
Get-help get
alle Commandlets auf, die das Verb get verwenden.
Erstellung von Commandlets
Die Erstellung von Commandlets ist wahlweise per PowerShell-Skript (siehe Funktionsbasiertes Commandlet) als auch über
.NET Framework
-Programmierung mit einer .NET-fähigen
Programmiersprache
(üblicherweise C# oder
Visual Basic .NET
) möglich. In den anderen beiden Fällen geht nur .NET-Programmierung. Damit liegen diese Themen außerhalb der Reichweite dieses Buchs, da hierzu .NET-Programmierkenntnisse erforderlich sind.
Weitere Ressoucen auf dieser Website
PowerShell-Community-Website
PowerShell-Codebeispiele
Querverweise zu anderen Begriffen im Lexikon
Programmiersprache
Windows PowerShell (WPS)
Visual Basic .NET (VB.NET)
PowerShell Core (PS Core)
.NET Framework
Objektmenge
Prozesse
Liste
Disc Operating System (DOS)
Beratung & Support
Anfrage für Beratung/Consulting zu Commandlet Cmdlet
Gesamter Beratungsthemenkatalog
Technischer Support zum Commandlet Cmdlet
Schulungen zu diesem Thema
Gruppenrichtlinien
ADO.NET Entity Framework (EF) Code-based Modelling (alias Code First/Code Only)
Microsoft Exchange Server-Administration mit der Windows PowerShell / Microsoft Exchange Management Shell
Windows Vista für Entwickler (Programmieren für Windows Vista)
Windows Server 2012 oder Windows Server 2012 R2 für Administratoren (Neuheiten gegenüber Windows Server 2008 R2)
Konsolenanwendungen mit .NET
Active Directory für Administratoren
Skriptbasierte Active Directory-Migration
Microsoft Application Virtualization: App-V-Paketbereitstellung mit Citrix Virtual Apps and Desktops (XenDesktop) oder System Center Configuration Manager (SCCM)
Paketverwaltung mit NuGet
Windows PowerShell 5.1/PowerShell 7.0 für Softwareentwickler
System Center verwalten mit der Windows PowerShell
Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
Windows PowerShell 5.0/5.1 für Umsteiger von Version 4.0
Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
Microsoft SQL Server-Administration mit der Windows PowerShell
.NET Akademie: Datenbankprogrammierung mit Entity Framework Core (3-Tages-Agenda des öffentlichen Seminars)
Entity Framework Core 8.0/9.0 (EF Core 8.0/9.0): Objekt-Relationales Mapping (ORM) für .NET 8.0/9.0 (komplettes Wissen)
Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
Microsoft Application Virtualization (App-V-Packaging)
Windows Server 2016 Update (Neuheiten für Administratoren gegenüber Windows Server 2012 R2)
NetApp verwalten mit der PowerShell
Windows PowerShell 4.0 für Umsteiger von Version 3.0
Scripting von Gruppenrichtlinien mit der GPMC
Active Directory-Administration mit der Windows PowerShell
Microsoft SharePoint-Administration mit der Windows PowerShell
Neuerungen in Microsoft SharePoint 2019 - für Umsteiger von Version 2016
Windows Server-Administration mit der Windows PowerShell, insbesondere Active Directory-Administration
Windows 10/Windows 11 für Administratoren
Anfrage für eine individuelle Schulung zum Thema Commandlet Cmdlet
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr