Erstellen und Ausführen von Windows PowerShell-Skripts als geplante Aufgaben

Abgeschlossen

Bei geplanten Aufträgen handelt es sich um eine Kombination aus Windows PowerShell-Hintergrundaufträgen und Windows Taskplaner-Aufgaben. Ähnlich wie Hintergrundaufträge definieren Sie auch geplante Aufträge in Windows PowerShell. Darüber hinaus werden Auftragsergebnisse wie Aufgaben auf dem Datenträger gespeichert, und geplante Aufträge können auch dann ausgeführt werden, wenn Windows PowerShell nicht ausgeführt wird.

Geplante Aufgaben

Geplante Aufgaben gehören zu den wichtigsten Infrastrukturkomponenten von Windows. Andere Windows-Komponenten und -Produkte, die unter Windows ausgeführt werden, verwenden häufig geplante Aufgaben. Sie sind im Allgemeinen einfacher als geplante Aufträge. Mit dem Taskplaner können Sie einen Zeitplan für die Ausführung nahezu jedes Programms oder Prozesses in jedem Sicherheitskontext konfigurieren, die durch verschiedene Systemereignisse oder an einem bestimmten Datum oder zu einer bestimmten Zeit ausgelöst wird.

Geplante Aufgaben können jedoch die Ausgaben von Aufgaben nicht erfassen und bearbeiten. Eine geplante Aufgabe kann fast alles ausführen, was auf einem Windows-Gerät ausführbar ist, weshalb es unmöglich ist, die Ausgabe der geplanten Aufgabe vorherzusehen und zu erfassen. Da ein geplanter Windows PowerShell-Auftrag jedoch immer ein Windows PowerShell-Skript ist, kann das System die Ausgabe erfassen, auch wenn dieses Skript ein Nicht-Windows PowerShell-Programm ausführt. In diesem Fall wird ein Windows PowerShell-Objekt am Ende des Skriptblocks zurückgegeben. Eine geplante Aufgabe umfasst Folgendes:

  • Die Aktion, die das auszuführende Programm definiert
  • Den Prinzipal, der den Kontext ermittelt, der zum Ausführen einer Aktion verwendet werden soll
  • Den Auslöser, der das Zeit- oder Systemereignis definiert, das die Ausführung des Programms auslöst
  • Die zusätzlichen Einstellungen, die die Aufgabe weiter konfigurieren und steuern, wie die Aktion ausgeführt wird

Im Modul ScheduledTasks, das in Windows 10 und Windows Server 2019 enthalten ist, finden Sie Befehle für geplante Aufgaben. Führen Sie den folgenden Befehl aus, um sich die vollständige Befehlsliste anzusehen:

Get-Command –Module ScheduledTasks

Überprüfen Sie beispielsweise die verfügbaren geplanten Aufgaben, indem Sie den Befehl Get-ScheduledTask ausführen. Dadurch werden alle verfügbaren geplanten Aufgaben aufgeführt, unabhängig davon, ob sie aktiviert oder deaktiviert sind.

Rufen Sie Informationen zu einer bestimmten Aufgabe ab, indem Sie Get-ScheduledTask mit dem Parameter -TaskPath ausführen. Es gilt als bewährte Methode, den tatsächlichen Pfad in Anführungszeichen zu setzen. Rufen Sie mithilfe des Befehls Get-ScheduledTaskInfo weitere Informationen zu einer bestimmten Aufgabe ab. Sie können diese Befehle anschließend mithilfe einer Pipeline kombinieren, um zusätzliche Informationen zu erhalten. Rufen Sie beispielsweise detaillierte Informationen zu der auf Ihrem System ausgeführten Aufgabe Automatisches Update ab, indem Sie den folgenden Befehl eingeben:

Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Get-ScheduledTaskInfo

Sie können mit dem Taskplaner auch geplante Aufgaben erstellen und ausführen. Was geschieht jedoch, wenn Sie Windows PowerShell-Befehle, -Skripts oder Windows-Tools ausführen, die ihre Ausgabe nicht in eine Datei schreiben? Wenn die Ausgabe für Sie wichtig ist, empfiehlt es sich, einen geplanten Windows PowerShell-Auftrag zu verwenden. Sobald dieser Auftrag im Taskplaner vorhanden ist, können Sie ihn weiter bearbeiten. Sie können ihn im Taskplaner starten oder beenden. Wenn Sie mehrere geplante Aufträge oder Aufgaben lokal oder sogar auf Remotecomputern erstellen möchten, automatisieren Sie deren Erstellung und Wartung mit den Befehlen für geplante Aufträge oder geplante Aufgaben.

Wenn Sie Windows PowerShell-Skripts als geplante Aufträge zum Taskplaner hinzufügen, kann dies Ihre Produktivität erheblich steigern. Der PowerShell-Katalog enthält Tausende von Skripts, die Sie für bestimmte Zwecke verwenden oder bearbeiten können, und diese Skripts werden in verschiedene Kategorien unterteilt.

Es gibt beispielsweise Hunderte von geeigneten Skripts, die Sie für Active Directory Domain Services (AD DS) und andere Active Directory-Dienste ausführen können. Einige dieser Skripts können sehr nützlich sein. So sucht ein Skript beispielsweise nach Benutzerkonten, die seit mehr als 90 Tagen nicht mehr verwendet wurden, und deaktiviert diese, wodurch die Sicherheit der Domäne erhöht werden kann. Sie können dieses Skript an Ihre spezifische Domäne anpassen, und es dann als geplanten Auftrag erstellen. Nachdem Sie diese Aufgabe konfiguriert haben, können Sie den Auftrag im Taskplaner suchen und bearbeiten. Planen Sie die Ausführung für jede Woche, und erstellen Sie einen Bericht darüber, welche Konten gegebenenfalls deaktiviert wurden.