Was sind Powershell Module

So einfach erweiterst du die Windows PowerShell

Grundlagen

Vom Prinzip sind Powershell Module nur eine Erweiterung, welche eine nach Themen sortierte Sammlung an Befehlen darstellt.

Auflisten der Module

Welche verschiedenen Module die Powershell anbietet, kann man sehr gut dem Befehlsbereich in der Powershell ISE entnehmen. Aber auch auf der Konsole kann man sich alle Powershell Module auflisten lassen.

Get-Module  -ListAvailable

Welche Module geladen sind, hängt natürlich vom  installiertem Betriebssystem inklusive dessen Rollen & Features ab. Ein Domänencontroller hat natürlich weit mehr Module geladen, als ein Windows 10* Betriebssystem.

Zusammenhang Module & Cmdlet

Möchte man wissen, welches Cmdlet einem bestimmten Modul zugeordnet ist, so kann man sich die Cmdlets ausgeben lassen und in der Source Spalte erhält man das zugehörige Modul. Im Beispiel unten, habe ich die Cmdlets gleich nach deren Source sortieren lassen.

Get-Command -CommandType cmdlet | sort-object source
Powershell Module Ausschnitt
Powershell Module Ausschnitt

Die Module beinhalten alle einen bestimmten Satz an Befehle. Welche das sind, liefert entsprechend das folgende Cmdlet.

Get-Command -Module Microsoft.PowerShell.Management
Powershell zugehörige Cmdlets zu den Modulen
Powershell zugehörige Cmdlets zu den Modulen

Wenn man nun das gesuchte Cmdlet gefunden hat, so wäre wahrscheinlich die nächste Überlegungen. Ist das wirklich dass, was ich suche und wie funktioniert dieses Cmdlet.

Nehmen wir einfach mal das Cmdlet Test-Connenction und schauen uns dazu wie folgt die Hilfe an. So findet man doch relativ schnell heraus, wie das Cmdlet anzuwenden ist.

Get-Help Test-Connection
Powershell Help: Test-Connection
Powershell Help: Test-Connection

Schon gleich die Übersicht gibt uns Auskunft darüber, was das mit Hilfe aufgerufene Cmdlet macht. In unserem Fall bewirkt das Cmdlet das gleiche, wie wenn man einen Ping abschickt. Möchte man übrigens zu einem Cmdlet Bespiele angezeigt bekommen, so hängt man einfach an den Aufruf noch -example an.

Get-Help Test-Connection -example

Importieren von Modulen

Module sind vor allem wichtig, wenn man einen Server hat und dieser mit unterschiedlichen Rollen und Features ausgestattet ist. So kann man sich die entsprechenden Module importieren und dessen Befehlssatz verwenden. Module hierfür wären u.a. DnsServer oder Active Directory.  Z.B. funktioniert das importieren des Moduls Active Directory folgendermaßen:

Import-Module -Name ActiveDirectory

Fazit

Module sind also nichts anders als Befehlserweiterungen. Anhand der Vielzahl an Modulen ist es fast möglich, das komplette System mit der Powershell zu verwalten. Übrigens ist es seit der Powershell 3.0 möglich Befehle aus Modulen zu verwenden, auch wenn das Module noch gar nicht geladen wurde. Windows lädt das entsprechende Modul dann automatisch im Hintergrund. Sehr gut zum Thema Powershell Module sind auch der Artikel von der Powershell Community oder die Bücher: Windows PowerShell 4.0: Das Praxisbuch * und Windows PowerShell 5.0*.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*