Für die Verwaltung des Exchange Servers steht auf dem Windows Server eine spezielle Version der Powershell, die Exchange Management Shell, zur Verfügung.
Es ist sehr hilfreich, wenn man Exchange Server Verwaltungsaufgaben automatisieren kann und so bietet sich die Windows Aufgabenplanung und Powershellscripting an.
Es ist aber nicht ohne weiteres möglich, einfach ein "Exchange Management Powershell Script" zu erstellen und über die Aufgabenplanung zu starten. Man muss den Umweg über die "normale" Powershell wie folgt gehen.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Jetzt wirds Spannend. Nun wird unter "Argumente hinzufügen" folgende Zeile genutzt um das eigene Script zu übergeben.
PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V14\Bin\ExShell.psc1" -Command C:\Skripts\script.ps1
Zunächst wird Powershell mitgeteilt, dass man bitte eine Exchange Server Konsole haben möchte, dazu muss man den Pfad bis zur gewünschten "ExShell.psc1" angeben. Das ist ein "ConsoleFile", ein XML File welches spezielle Konfigurationseinstellungen für Powershell enthält und so die aktuelle Session Konfigurieren kann. In diesem Fall ist es die Konfiguration der Powershell als Exchange Server Konsole.
Anschließend wird dieser "neuen" Exchange Management "Power-"Shell über den Parameter -Command mitgeteilt, dass wir ein Script aufrufen möchten und zwar dasjenige, welches unter "C:\Skripts\script.ps1" abgelegt wurde.
Thats it!
Das geht mittlerweile allerdings noch etwas einfacher wenn man dies hier bedenkt:
Powershell_ISE_als_Exchange_Shell_verwenden
Somit muss man im eigenen Script eigentlich "nur noch" via Add-PSSnapin ... in der ersten Zeile das Exchange Management starten.
Happy Hacking