Es ist wesentlich unkomplizierter einen Schedule Task für PowerShell Scripte einzurichten als für ein VB Script. (vgl. zu meinem Beitrag Ad-hoc Netzwerk unter Windows 8 erstellen, Netzwerk automatisch starten). In die Computerverwaltung (compmgmt.msc) unter Systemsteuerung\Verwaltung\Computerverwaltung gibt es den Punkt Aufgabenplanung (Schedule Task). Dort mit einem Rechtsklick auf „Aufgabe erstellen“ klicken, nicht auf „einfache Aufgabe erstellen…“, hier wird lediglich ein Assistent ausgeführt.
Der neuen Aufgabe muss ein Name gegeben werden. Eine Beschreibung ist hingebend nicht notwendig.
Werden administrative Rechte zum ausführen eines Scriptes benötigt, sollte der auszuführende Benutzer entsprechende Reche haben. Wenn das Script für mehrere Benutzer laufen soll, empfehle ich ein eigens dafür erstelltes Systemkonto zu verwenden. Dieses Systemkonto sollte nur eine Aufgabe haben, Schedule Tasks auszuführen mit entsprechender Berechtigung. Das Systemkonto heißt in meinem Beispiel Administrator. Dies ist ein denkbar unglücklich gewählter Name. Zu beachten gilt, wenn ein anderes Konto zur Ausführung genutzt wird, muss die Option „unabhängig von der Benutzeranmeldung ausführen“ angewählt werden. Das Kennwort sollte dabei ebenfalls gespeichert werden. Lässt sich das Script danach nicht ausführen, kann dies an der Serverhärtung liegen und es muss ein Haken bei „Mit höchsten Privilegien ausführen“ gesetzt werden.
Sollte eine Hinweisfenster erscheinen, was besagt, dass der User Account Rechte zum ausführen von Batch Jobs benötigt, so ist der angegebene User Account nicht in der Gruppe der lokalen Administratoren und hat somit auch keine Rechte Scripte auszuführen. Leider hatte ich jetzt nur einen englisch sprachigen Screenshot zur Hand.
Es muss mindestens ein Trigger, also ein Ereignis gewählt werden, wann das Script ausgeführt werden soll. Dies kann eine bestimmte Uhrzeit zu einem bestimmten Datum sein oder das Ereignis kann sich auch zu bestimmten Intervallen wiederholen.
In meinem Beispiel habe ich einfach „beim Starten“, „beim Anmelden“ und „beim Aufheben der Arbeitsstationssperre“ ausgewählt, sodass das Script beim Anmelden, nach dem Starten und laden der Benutzeroberfläche und dem Reaktivieren des Arbeitsplatzes eines Benutzer ausgeführt werden.
Unter Aktion wird nun das Script angegeben. Als Aktion wird „Programm starten“ ausgewählt und in die TextBox Programm/Script wird der Pfad zur PowerShell.exe angegeben.Dieser ist standartmäßig C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe. Als Argument wird nun der Pfad des auszuführenden Scriptes angegeben. Unter „Starten in“ muss nichts eingetragen werden.
Das Ergebnis sieht dann wie folgt aus.
Anstatt ein Programm auszuwählen, kann auch eine E-Mail verstand oder eine Meldung (Messagebox) ausgegeben werden. Natürlich ließe sich auch eine E-Mail mittels PowerShell-Script verschicken, vlg. zu meinem Beitrag PowerShell – 07 – E-Mail versenden mit/ohne Dateianhang, Authentifizierung.
In den Registern Bedingungen und Einstellungen müssen i.d.R. keine Änderungen vorgenommen werden, so auch in meinem Beispiel. Anschließend muss bei der Bestätigung des Schedule Task das Passwort des Systemkontos (hier Administrator) eingeben werden.
Der Task Schedule ist nun eingerichtet und greift bei der nächsten Anmeldung bzw. Reaktivierung des Arbeitsplatzes.
rewe
Ein Gedanke zu „PowerShell – 08 – Ein Schedule Task anlegen“