Um beispielsweise aus Scripten einen Befehl an den Exchange abzusetzen muss zuerst das Exchange SnapIn geladen werden.

Das funktioniert wie folgt:

Exchange 2007

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

Exchange 2010

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

Exchange 2013

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

Exchange 2016

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

Hier eine kleine Funktion, welche die Exchange Version anhand des Install Pfades ausliest und das richtige Modul läd.

#Keine Garantie auf Funktion des Scripts. Ausführung auf eigene Gefahr.
function LadeExchangeModul {
#Prüfen welche Exchange Version. Pfad aus Umgebungsvariable
$exversion = $env:exchangeinstallpath
#Zerlegen bei jedem "\"
$exversion = $exversion.split("\")
#Länge des Arrays messen und 2 abziehen (Array startet bei 0 und die Umgebungsvariable endet mit "\")
$exversionlanege = $exversion.length - 2
#Exchange Version ist also der Letzte-2 Array Wert.
$exversion = $exversion[$exversionlanege]
if($exversion -eq "V15") { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; }
if($exversion -eq "V14") { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010; }
if($exversion -eq "V8") { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin; }
}

Somit kann das Modul via der Zeile

LadeExchangeModul

geladen werden.