PowerShell – Cmdlets

PowerShell Cmdlets, Parameter und Aliase: um diese Begriffe geht es in folgenden Artikel.

Die PowerShell war für die Administration schon immer ein sehr wichtiges Werkzeug. Doch heute nehmen die Virtualisierungs-, Cloud- und Multicloud-Technologien, “software defined datacenter” haben im professionellen IT-Umfeld die Überhand. Da ist die PowerShell als eine Automationssprache gefragter denn je. Nicht zu vergessen, dass die PowerShell auch auf Linux und MacOS läuft.

Und natürlich sind die vor nicht all zu langer Zeit eingeführten Verbesserungen ganz nett: Strg+C, Strg+V können endlich mal auch in der Konsole benutzt werden; farbige Gestaltung der Konsole, das Einstellen von Transparenzen ist ebenfalls möglich.

PowerShell – Cmdlets

Die “Cmdlets” sind die nichts anderes als PowerShell-Befehle. Ausgesprochen wird es übrigens mit “Commandlets”. Neben den Basis-Befehlen, die jede PowerShell Installation mit sich bringt, gibt es zahlreiche PowerShell Erweiterungen. Diese Erweiterung bieten wiederum eine ganze Menge spezialisierter Cmdlets an, zum Beispiel für:

  • Exchange Server
  • SQL Server
  • Azure
  • SharePoint
  • und vieles mehr und zwar in unterschiedlichsten Versionen…

Die Syntax eines Cmdlets ist in der PowerShell sehr konsequent: es besteht aus einen Verb und einem Nomen. Das Verb bestimmt, was gemacht werden sollte, zum Beispiel: “Set” oder “Get”. Das Nomen ist demnach der Bereich auf das sich das Verb bezieht: sprich womit etwas gemacht werden sollte. Das wären beispielsweise: “ComputerInfo”, “Service”, “Date” und so weiter.

Beispiel:

Get-ComputerInfo

Dieses Cmdlet gibt uns die Informationen über den Computer und zwar ziemlich detailliert.

Powershell Cmdelts - Get-ComputerInfo
Nur ein Ausschnitt. Die vollständige Liste ist doppelt so lang.

Wenn man sich nicht sicher ist, welches PowerShell Cmdlet man benutzen sollte, schafft der Befehl “Get-Command” oft Abhilfe. Mehr zum den Strategien, um richtige Befehle zu finden gibt es in diesem Beitrag: PowerShell Befehle finden

Praktischer Tipp

Powershell Parameter

Wenn wir jedoch nur bestimmte Eigenschaften “Properties” sehen wollen, können wir die sogenannten “Parameter” nutzen:

Get-ComputerInfo -Property "*Processor*"

Dieser, doch schon recht ordentlich, spezifizierter Befehl zeigt uns nur eine Eigenschaft: den Prozessor:

Powershell Cmdlets - Parameter
Mit diesem Powershell Cmdlet wird dank dem Parameter nur die gesuchte Eigenschaft angezeigt.

Das ist auch der Hauptsinn der Parameter: mit einem Parameter passen wir die Cmdlets an unsere Bedürfnisse an. Die Powershell Cmdlets sind auf einen bestimmen Bereich spezialisiert. Dabei gehen sie sehr tief und/oder liefern oft eine (sehr) große Menge an Informationen. Um die Tiefe beziehungsweise die Vollständigkeit, mit der die Commandlets arbeiten, setzen wir die Parameter ein. Und davon gibt es ebenfalls einige. Die PowerShell hilft und dabei mit der Autovervollständigung.

PowerShell Cmdlet Parameter
Autovervollständigung in der PowerShell.

PowerShell Cmdlets und Argumente

Wenn wir die PowerShell Hilfe aufrufen, sehen wir die Angaben zu der Syntax:

Get-Service -?
Powershell Syntax
Angaben zur Syntax innerhalb der PowerShell Hilfe

Hinter der eckigen Klammer “[-Name]”, die für Parameter steht, sehen wir den “<string[]>”. Hier können den Parameter mit weiteren Argumenten versehen. Das gibt uns wiederum die Möglichkeit das PowerShell Cmdlet noch genauer zu spezifizieren. Hierzu können wir die Argumente mit einem Komma getrennt hintereinander aufzählen:

Get-Service -Name Dhcp,dnscache
Powershell Cmdelts und Argumente
Cmdlet: Get-Service; Parameter: Name; Argumente: dhcp, dnscache

Folgendes sollte man jedoch beachten: fehlt die eckige Klammer [] hinter dem “string”, so ist nur ein Argument zulässig. Ein Beispiel hierfür wäre das Cmdlet “Get-EventLog”:

Get-EventLog -?
Powershell String ohne eckige Klammern
Hier sind keine eckigen Klammern zu sehen. Es ist nur ein Argument zulässig.

Unter Angabe der Parameter und Argumente lassen sich die PowerShell Cmdlets schon wesentlich einfacher aber auch effizienter handhaben. Hoffentlich diente dieser kurze Beitrag einer Übersicht über die Handhabe der Cmdlets. Weiterführende Informationen sind auf der Docs-Seite von Microsoft zu finden: https://docs.microsoft.com/de-de/powershell/scripting/developer/cmdlet/cmdlet-overview?view=powershell-7.1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.

Newsletter

Menü