Ich habe eine Webanwendung, die unter Windows Server 2008 R2 ausgeführt wird und eine große Anzahl geplanter Aufgaben enthält, die sich um alle Backend-Aufgaben kümmern. Wenn ich eine Softwarebereitstellung durchführe, die die Datenbank berührt, muss ich alle geplanten Aufgaben deaktivieren. Derzeit habe ich eine lange Checkliste, die ich manuell durchlaufen muss, um jede geplante Aufgabe zu deaktivieren. Dies ist sicherlich ein Job, der für die Automatisierung mit Powershell reif ist.
Leider scheint die Powershell-Dokumentation ziemlich zurückhaltend zu sein, wie Sie eine vorhandene geplante Aufgabe deaktivieren (und sie natürlich wieder aktivieren, sobald die Version erfolgreich abgeschlossen wurde). Ich kann eine Liste mit fertigen, laufenden oder deaktivierten Aufgaben erhalten, aber wie geht es weiter?
quelle
at.exe
. (Beispiel :)AT 09:00 /every:SUNDAY shutdown.exe /r /f /d p:4:1 /c "Reboot via SchTask (AT Job)"
. Der Fehler, den Sie erhalten, ist 0x80041327; Die Aufgabe hat Eigenschaften, die nicht mit früheren Versionen von Windows kompatibel sindWenn Sie nur versuchen, ALLE Aufgaben zu stoppen, ist es möglicherweise einfacher, den Taskplaner-Dienst zu beenden. Das ScheduledTasks-Modul ist erst unter Windows Server 2012 verfügbar. Daher ist das Verwalten von Aufgaben nicht so einfach wie das Beenden und Starten eines Dienstes:
Wenn dies bei Ihnen nicht funktioniert, kann schtasks.exe weiterhin in PowerShell zum Verwalten einzelner Aufgaben verwendet werden:
quelle
Suchen Sie danach (Disable-ScheduledTask) ?
quelle
Noch besser, wenn Sie keine Namen für die Aufgaben angeben müssen:
quelle
Dies ist perfekt! Es funktioniert besser als Get-ScheduledTask, da ich mich in einer gemischten Umgebung von 2008/2012 befinde. Ich habe ein paar Zeilen hinzugefügt, um AD abzufragen und diesen Befehl für eine Gruppe von Computern aufzurufen. Mein Ziel war es, die Aufgabe des "Server-Managers" zu deaktivieren, der jedes Mal geöffnet wird, wenn sich ein Benutzer anmeldet. Presto! alle weg!
quelle
Schauen Sie sich diese Funktion an
Sie können beispielsweise alle Aufgaben im Ordner "\ mysql" durch Aufrufen deaktivieren
Control-Tasks -FolderPath "\mysql" -Disable -Recursive
Diese Codefragmente stammen von So deaktivieren / aktivieren Sie geplante Aufgaben im Batch von PowerShell. Dort können Sie das vollständige Beispielarchiv herunterladen.
quelle
das hat bei mir funktioniert
quelle