Exchange 2013 Script per Taskplaner ausführen
Hi Gemeinde,
ich habe ein ziemlich einfaches Script geschrieben:
$exch_server='myexchange'
$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$exch_server/powershell/" -Authentication Kerberos
Import-PSSession $session
Search-Mailbox -Identity "Mailboxname1" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Search-Mailbox -Identity "Mailboxname2" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Search-Mailbox -Identity "Mailboxname3" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Im Taskplaner habe ich folgendes definiert:
Programm/Script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments:
-version 2 -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto"; C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1
Wenn ich das script Manuell in der EMS ausführe laeufts ohne Probleme, aber im Taskplaner laeufts und laeufts und laeufts, aber ohne funktion.
ich denke der Fehler liegt in den "Arguments".
Wie muss ich das script dort einbinden wenn es sagen wir hier liegt: C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1 ???
ich habe ein ziemlich einfaches Script geschrieben:
$exch_server='myexchange'
$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$exch_server/powershell/" -Authentication Kerberos
Import-PSSession $session
Search-Mailbox -Identity "Mailboxname1" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Search-Mailbox -Identity "Mailboxname2" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Search-Mailbox -Identity "Mailboxname3" -SearchQuery "Subject:'Something'" -DeleteContent -Force
Im Taskplaner habe ich folgendes definiert:
Programm/Script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments:
-version 2 -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto"; C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1
Wenn ich das script Manuell in der EMS ausführe laeufts ohne Probleme, aber im Taskplaner laeufts und laeufts und laeufts, aber ohne funktion.
ich denke der Fehler liegt in den "Arguments".
Wie muss ich das script dort einbinden wenn es sagen wir hier liegt: C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1 ???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 240591
Url: https://administrator.de/forum/exchange-2013-script-per-taskplaner-ausfuehren-240591.html
Ausgedruckt am: 03.05.2025 um 00:05 Uhr
7 Kommentare
Neuester Kommentar
Hallo agnostiker,
in deinem Script stellst du bereits eine Remote-Verbindung zum Exchange her, also brauchst du das in den Parametern nicht mehr tun. Als Parameter im Task sollte das hier reichen:
ansonsten so, ohne die zusätzliche Herstellung der Verbindung im Script:
Zusätzlich müssen natürlich die Rechte im Task entsprechend ausreichend eingestellt sein, damit der Zugriff auf die Postfächer via Search-Mailbox klappt:
Search-Mailbox
Grüße Uwe
in deinem Script stellst du bereits eine Remote-Verbindung zum Exchange her, also brauchst du das in den Parametern nicht mehr tun. Als Parameter im Task sollte das hier reichen:
-version 2 -NonInteractive "C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1"
-NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; . 'C:\Program Files\Microsoft\Exchange Server\V15\Scripts\test.ps1'"
Search-Mailbox
Bevor Sie dieses Cmdlet ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. In diesem Thema sind zwar alle Parameter für das Cmdlet aufgeführt, aber Sie verfügen möglicherweise nicht über Zugriff auf einige Parameter, falls diese nicht in den Ihnen zugewiesenen Berechtigungen enthalten sind.
Grüße Uwe
das ist normal, kannst du ignorieren
poste mal alle deine Einstellungen im Taskplaner ...
p.s. mit den richtigen Berechtigungen geht es hier testweise einwandfrei ...
aber mittels des taskplaners sehe ich nur "running" aber es tut sich nichts...
dann stimmen sehr wahrscheinlich die Rechte im Taskplaner nicht, bzw. der Account unter dem das Script ausgeführt wird hat nicht genügend Rechte s.o.poste mal alle deine Einstellungen im Taskplaner ...
p.s. mit den richtigen Berechtigungen geht es hier testweise einwandfrei ...
pack das Script auch mal testweise in einen Ordner der keinen so langen Pfad hat...
ansonsten schau mal hier rein: http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2013/P ...
ansonsten schau mal hier rein: http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2013/P ...
-DeleteContent
Wichtig:
Die Verwaltungsrolle "Postfachimport/-export" muss Ihnen zugewiesen werden, um diesen Schalter zu verwenden. Diese Rolle ist standardmäßig keiner Rollengruppe zugewiesen. Normalerweise können Sie eine Role einer eingebauten oder benutzerdefinierten Rollengruppe zuordnen. Oder Sie können eine Rolle einem Benutzer einer Universal-Sicherheitsgruppe zuweisen.
lass dir halt mal aus dem Script die eventuellen Fehlermeldungen ausgeben....
$error | out-file "C:\Fehler.txt"