PowerShell Techguy.at

PowerShell Import-Module oder Add-PSSnapIn

PowerShell

PowerShell besteht aus sogenannten Modulen oder Snap-ins. Wer eine “normale” PowerShell Konsole öffnet kann die vom System mitgelieferten PowerShell CMDlets verwenden.

Wer jedoch die Funktionen erweitern will, muss zuvor die Module importieren oder die Snap-Ins hinzufügen.

Viele Produkte liefern eigene PowerShell CMDlets mit, zum Beispiel ein Exchange Server, oder die gesamte System Center Familie.

Nur weil diese installiert sind, heißt dies nicht das diese in jeder PowerShell Konsole auch zur Verfügung stehen.

Die Herausforderung

Diesen Fehler sollte jeder schon mal gesehen haben.

image

The term ‘Get-ADUser’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.

In diesem Fall wollte ich das CMDlet Get-ADUser ausführen, diese CMDlet gehört zum Module “ActiveDirectory”

Mit

Import-Module ActiveDirectory

importieren wir das Active Directory Module, und können somit die CMDlets nutzen. Dies gilt für alle PowerShell Erweiterungen.

Damit es nicht zu einfach wird, werden manche Module mittels Add-PSSnapIn der PowerShell Konsole hinzugefügt.

Ein Beispiel sind hier die Exchange CMDlets.

Exchange 2007 funktioniert mit diesem Kommando

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin

Exchange 2010 jedoch benötigt diese Kommando

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

Die Lösung

Es gibt eine kleine Abhilfe um das ganze zu vereinfachen. Installierte PowerShell Module oder Snap-Ins registrieren sich im System und können ausgelesen werden.

Mit folgendem Kommando listet ihr alle installierte Module auf

Get-Module –ListAvailable

Dies kann wie folgt aussehen

image


Auch mit den Snap-Ins können wir ähnlich verfahren.

Get-PSSnapin -Registered

liefert nun folgendes

image

Jetzt besteht natürlich die Möglichkeit einfach alle Module zu importieren die zur Verfügung stehen.

Get-Module -ListAvailable | Import-Module

Get-PSSnapin -Registered | Add-PSSnapin

Natürlich gibt’s Hersteller deren PowerShell Erweiterungen sich nicht im System registrieren, da gibt’s noch die Möglichkeit das PSD1 File direkt zu importieren.

Hier ein Beispiel

Import-Module *Pfad zum PSD! File*

Michael Seidl aka Techguy

7 thoughts on “PowerShell Import-Module oder Add-PSSnapIn”

  1. Für die Exchange CMDlets 2013 & 2016 lautet der Befehl wie folgt:
    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

  2. Pingback: TOP 10 Posts, 2017 » TechGuy

  3. Pingback: Exchange Postfach deaktivieren und löschen | TECH FAQ

  4. Wolfgang maier

    Hi,
    gibt es eine Möglichkeit, daß das Exchange-SnapIn automatisch mit der Standard -Powershell mitgeladen wird?

Leave a Comment

Your email address will not be published. Required fields are marked *

*