PowerShell im Task Scheduler
Hallo
Ich habe ein PowerShell Script das ich im Task Scheduler ausführen möchte. Das Script ist nur ein Zweizeiler und funktioniert solange ich es direkt ausführe. Im Task Scheduler habe ich X-Varianten ausprobiert, aber es funktioniert nicht.
Liegt es am Script, müsste ich da was ändern?
Vielen Dank.
LG
Ich habe ein PowerShell Script das ich im Task Scheduler ausführen möchte. Das Script ist nur ein Zweizeiler und funktioniert solange ich es direkt ausführe. Im Task Scheduler habe ich X-Varianten ausprobiert, aber es funktioniert nicht.
Liegt es am Script, müsste ich da was ändern?
$users= Get-DistributionGroupMember Meine_Gruppe ;
Set-App -OrganizationApp -Identity 9410acd2-64d2-4249-8b62-2fe8e41ef3fc -ProvidedTo SpecificUsers -UserList $users.Identity -DefaultStateForUser Enabled
Vielen Dank.
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 648536
Url: https://administrator.de/forum/powershell-im-task-scheduler-648536.html
Ausgedruckt am: 23.12.2024 um 05:12 Uhr
10 Kommentare
Neuester Kommentar
Servus,
warum packst du das nicht in eine Batch/PS1, die der Taskplaner dann startet?
Also Batch z.B.:
(... oder so ähnlich)
evtl. hilft das: https://www.howtogeek.com/204088/how-to-use-a-batch-file-to-make-powersh ...
warum packst du das nicht in eine Batch/PS1, die der Taskplaner dann startet?
Also Batch z.B.:
Powershell.exe -executionpolicy remotesigned -File "c:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1"
Powershell.exe -executionpolicy remotesigned -Command "Connect-ExchangeServer -auto"
Powershell.exe -executionpolicy remotesigned -File "C:\Program Files (x86)\Scripts\AddInAccess.ps1"
evtl. hilft das: https://www.howtogeek.com/204088/how-to-use-a-batch-file-to-make-powersh ...
Dann poste doch bitte das ganze Skript und nicht nur 2 Zeilen.
Welchen Exchange hast du denn? Und wird das Snapin geladen. Da gibt es nälich unterschiede zum Bispiel auf dem Exchange 2007: im Vergleich zu 2010
Dein Code klappt nur Beim Exchange 2019. Wenn du den Hast, dann ok : )
Für den Start im Taskmanager reicht als Programm überigens powerschell.exe. Den ganzen Pfad kannst du dir sparen.
Exceution Policy als Fehlerquelle ausgeschlossen?
Ich gehe davon aus, dass der Dienst gestartet wird und das Skript auch, aber das Skript einen Fehler ausgibt. Meine empfohlene Vorgehensweise zur Lösung:
1. Skript um Fehlerprotokoll erweitern und Fehler loggen in LOG-Datei
2. Jedes Skript erstmal einzeln starten lassen bzw. Wenn die Skripts in Reihe laufen sollen, das 2te Skript aus dem ersten Starten oder direkt zu einem zusammen fügen.
Welchen Exchange hast du denn? Und wird das Snapin geladen. Da gibt es nälich unterschiede zum Bispiel auf dem Exchange 2007:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Dein Code klappt nur Beim Exchange 2019. Wenn du den Hast, dann ok : )
Für den Start im Taskmanager reicht als Programm überigens powerschell.exe. Den ganzen Pfad kannst du dir sparen.
Exceution Policy als Fehlerquelle ausgeschlossen?
Ich gehe davon aus, dass der Dienst gestartet wird und das Skript auch, aber das Skript einen Fehler ausgibt. Meine empfohlene Vorgehensweise zur Lösung:
1. Skript um Fehlerprotokoll erweitern und Fehler loggen in LOG-Datei
2. Jedes Skript erstmal einzeln starten lassen bzw. Wenn die Skripts in Reihe laufen sollen, das 2te Skript aus dem ersten Starten oder direkt zu einem zusammen fügen.
Endlich gibt es nach einigen Tagen auch mal eine Fehlermeldung. Also offenbar liegt es nicht am TaskScheduler, sondern an deinem Skript selbst. Am besten die Skripte immer in einer nackten PS-Session testen (nicht in der Exchange-Console), dann kommst du schneller zum ziel und siehst woran es liegt. Hintergrund ist, dass die Exchange-console diverse Dinge lädt und da ja auch schon eine Verbindung zum DC herstellt. Und genau da ist denke ich dein Problem:
Ich kenne den Befehl zwar nicht, aber wenn ich die offizielle Beschreibung richtig lese, dann machst du einen User-Abgleich mit dem DC, gibst im Skript aber selbst keinen DC an. Der Parameter könnte aber meinem Verständnis nach dein Problem lösen. Hab leider derzeit keinen Exchange-Server zum Testen griffbereit.
Gruß
Doskias
Ich kenne den Befehl zwar nicht, aber wenn ich die offizielle Beschreibung richtig lese, dann machst du einen User-Abgleich mit dem DC, gibst im Skript aber selbst keinen DC an. Der Parameter
-DomainController
Gruß
Doskias
Moin.
Dein echter Servername steht noch in deinem Posting. mach das weg
Was ist, wenn du die Exchange Konsole startest. Das macht der Exchangeserver ja üblicherweise mit:
Wenn du da jetzt noch dein Skript hinter hängst, müsste es im gleichen Kontext ausgeführt werden. Nur eine spontane Idee ohne zu wissen ob es funktioniert.
Nachtrag: Wieso willst du das eigentlich als geplanten Task ausführen? Wenn ich set-app richtig verstanden haben konfigurierst du damit die Verfügbarkeit einer installierten App. Und dein Skript aktiviert dies ja auch. Ist das nicht ohnehin eine einmalige Aktion? Wieso als geplanter Task? Das erschließt sich mir noch nicht.
Dein echter Servername steht noch in deinem Posting. mach das weg
Was ist, wenn du die Exchange Konsole startest. Das macht der Exchangeserver ja üblicherweise mit:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell "
Wenn du da jetzt noch dein Skript hinter hängst, müsste es im gleichen Kontext ausgeführt werden. Nur eine spontane Idee ohne zu wissen ob es funktioniert.
Nachtrag: Wieso willst du das eigentlich als geplanten Task ausführen? Wenn ich set-app richtig verstanden haben konfigurierst du damit die Verfügbarkeit einer installierten App. Und dein Skript aktiviert dies ja auch. Ist das nicht ohnehin eine einmalige Aktion? Wieso als geplanter Task? Das erschließt sich mir noch nicht.