Script für Windows Server Exchange Management Shell via Aufgabenplanung starten

Aus bknowledgebase
Zur Navigation springen Zur Suche springen

Powershell Script vs. Exchange Management Shell[Bearbeiten]

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.


Powershell Script automatisiert in Exchange Management Shell ausführen[Bearbeiten]

  1. Powershell Script mit den Entsprechenden Befehlen erstellen und im für Powershell üblichen format (.ps1) an geeigneter Stelle ablegen.
  2. Windows Aufgabenplanung starten
  3. Auf "Aufgabe erstellen" klicken
  4. Name und Beschreibung angeben
  5. Meist muss auch der Haken bei "Mit höchsten Privilegien ausführen" gesetzt werden, je nachdem welche Befehle man auf dem Server ausführen möchte.
  6. Ebenso "Unabhängig von der Benutzeranmeldung ausführen" wählen, damit das Script immer ausgeführt wird
  7. Dann einen Trigger auswählen, Z.B. alle 10 Minuten diese Aufgabe durchführen
  8. Auf dem Reiter AKTIONEN auf Neu klicken und Aktion "Programm starten" wählen, da wir ja ein Programm (die Powershell) starten wollen
  9. Nun unter "Programm/Script" NICHT wie vllt. vermutet direkt das Script aufrufen(eintragen), auch nicht die Powershell mit dem Script als Parameter, sondern zunächst "nur" die Powershell, in etwa so:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe (Kann abweichen je nach Version)

Jetzt wirds Spannend. Nun werden unter "Argumente hinzufügen" folgende Befehle genutzt

-PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V14\Bin\ExShell.psc1" -Command C:\Skripts\script.ps1

ERKLÄRUNG: 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

Powershell ISE als Exchange Management Shell nutzen[Bearbeiten]

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