gunterp
Goto Top

PC Neustart mittels Aufgabenplanung

Hallo Zusammen

Ein Windows 8 PC soll in der Nacht neu gestartet werden. Das funktioniert ja prinzipiell sehr gut mit der Aufgabenplanung. Da es aber passieren kann, dass in der Nacht noch ein User arbeitet, sollte er die Möglichkeit eines Abbruchs haben.
Nun habe ich ein Script (Google ist mein Freund), welches auch funktioniert, aber nur wenn ich es nicht über die Aufgabenplanung starte.

Option Explicit
Dim oShell
Dim intConf
Set oShell = CreateObject("WScript.Shell")  

oShell.Run "shutdown /r /f /t 10" , 0, False  

intConf = _
    Msgbox("Möchten Sie das Herunterfahren Ihres PCs abbrechen?", vbYesNo, "Shutdown")  
If intConf = vbYes Then
    oShell.Run "shutdown -a" , 0, False  
    Msgbox "Ok. Herunterfahren wurde abgebrochen."  
Else
    Msgbox "Ok. Herunterfahren wird fortgesetzt."  
End If

Sobald ich das Script per Aufgabenplanung ausführen lassse, dann wird der PC neu gestartet. In dem Fall erscheint auch nicht die Abfrage des Scripts, ob das Herunterfahren abgebrochen werden soll. Was läuft das schief?

Für zweckdienliche Hinweise herzlichen Dank.

Gruss
Gunter

Content-Key: 370181

Url: https://administrator.de/contentid/370181

Printed on: April 19, 2024 at 21:04 o'clock

Member: AMD9558
AMD9558 Apr 05, 2018 updated at 13:43:06 (UTC)
Goto Top
Hi,

schau mal hier. Kannst ja dann einfach statt Herunterfahren Neu starten angeben und noch den shutdown Befehl bearbeiten.

VG

Yannik
Mitglied: 135799
135799 Apr 05, 2018 updated at 13:50:55 (UTC)
Goto Top
Das hier funktioniert (solange du natürlich im Task auswählst: "Nur ausführen wenn angemeldet" weil nur das Zugriff auf die sichtbare Shell des Users bietet)
Set objShell = CreateObject("Wscript.Shell")  
result = objShell.Popup("Runterfahren?",10,"Geplantes herunterfahren",36)  
If result = 6 Or result = -1 Then
	objShell.Run "shutdown -s -f -t 0"  
End If
Gruß schnuffi
Member: GunterP
GunterP Apr 05, 2018 at 13:54:02 (UTC)
Goto Top
Hallo schnuffi

Mit deinem Script startet das Runterfahren per Aufgabenplanung nicht. Der Status wird als "Running" angezeigt aber es tut sich nichts. Wenn ich das Script direkt starte dann funktioniert es!?

Gruss
Gunter
Mitglied: 135799
Solution 135799 Apr 05, 2018 updated at 14:05:40 (UTC)
Goto Top
Wie ich geschrieben habe, dann hast du die falsche Einstellung im Task gewählt, es muss gewählt werden "Nur ausführen wenn angemeldet" und dann die Gruppe ausgewählt, denn sonst läuft das Skript nicht in der aktiven Usersession und hat keinen Zugriff auf den Desktop!! Ergo kann es dann auch keine Dialoge einblenden!!

DIALOGE gibt's nur wenn das Programm in der jeweiligen User-Session läuft. Außer man nutzt msg.exe das kann auch Sessionübergreifend einen Dialog platzieren.
Member: GunterP
GunterP Apr 05, 2018 at 14:14:26 (UTC)
Goto Top
Ok so funktioniert es. Ich hatte "Run whether user is logged on or not" ausgewählt.
Member: StefanKittel
StefanKittel Apr 05, 2018 at 16:58:13 (UTC)
Goto Top
Hallo,

einfacher, aber nicht so elegant, wäre folgendes.

Aufgabenplanung
shutdown -r -t 600

Neustart nach 10 Minuten
Der Benutzer sieht eine Meldung auf dem Desktop.

Er hat eine Verknpüfung mit dem Namen "Neustart abbrechen"
shutdown -a

Oder Ihr macht den Neustart einfach um 05:00

Stefan