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

Die Module beinhalten alle einen bestimmten Satz an Befehle. Welche das sind, liefert entsprechend das folgende Cmdlet.
Get-Command -Module Microsoft.PowerShell.Management

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

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
*.
Alle Artikel auf IT-Learner stehen für dich kostenlos zur Verfügung und sollen dir bei deinen administrativen Tätigkeiten helfen. Wenn du das Blog aktiv unterstützen möchtest, so kannst du mir gerne über Paypal eine Spende zukommen lassen. Alle Spenden werden in das Blog reinvestiert!