2008-09-19 10 views
67

Wie planen Sie eine Task in Windows XP, die beim Herunterfahren von Windows ausgeführt werden soll? So dass ich ein einfaches Befehlszeilenprogramm ausführen möchte, schrieb ich in C# jedes Mal, wenn ich Windows heruntergefahren habe. Es scheint keine Option in geplanten Aufgaben zu geben, um diese Aufgabe auszuführen, wenn mein Computer heruntergefahren wird.So planen Sie eine Task beim Herunterfahren von Fenstern

Antwort

79

Execute gpedit.msc (lokale Richtlinien)

Computerkonfiguration -> Windows-Einstellungen -> Scripts -> Shutdown -> Eigenschaften -> Add

+25

Wenn Sie eine Charge wollen Skript, das bei Abmelden ausgeführt wird, fand ich, dass das Referenzieren der .bat-Datei direkt nicht funktionierte. Wenn ich jedoch 'C: \ Windows \ System32 \ cmd.exe' als * Script Name * und'/C C: \ Pfad \ zu \ Batch \ script.bat' als * Script Parameter * verwendete, tat es dies. –

+1

WARNING: Die Startup- und Shutdown-Skripte der Gruppenrichtlinie werden bei Verwendung von fastboot nicht ausgeführt (standardmäßig in Windows 8 und höher aktiviert). In diesem Fall, nur der Neustart oder erzwungenes Herunterfahren (von der Eingabeaufforderung) heruntergefahren wirklich den Computer. In allen anderen Fällen (Herunterfahren des Startmenüs) wurde der Computerkernel beim Neustart in den Ruhezustand versetzt, und die Skripts zum Starten und Beenden des GPO werden ignoriert. – voji

5

eine Abhilfe könnte eine einfache Batchdatei zu schreiben, die prog laufen rammen und dann den Computer herunterfahren.

Sie können über die Befehlszeile herunterzufahren - so das Skript ziemlich einfach sein könnte:

c:\directory\myProgram.exe 
C:\WINDOWS\system32\shutdown.exe -s -f -t 0 
4

Wenn Sie laufen gpedit.msc Sie zu Computerkonfiguration gehen kann -> Windows-Einstellungen -> Scripts und füge Start/Herunterfahren-Skripte hinzu. Dies können einfache Batch-Dateien oder sogar vollständige EXEs sein. Außerdem können Sie Benutzerkonfigurationen für Anmelde- und Abmeldeskripts in demselben Tool anpassen. Dieses Tool ist in Windows XP Home nicht verfügbar.

+0

wirklich nützlich zu wissen, dass Sie .EXEs ausführen können, danke! –

30

Neben Dan Williams' Antwort, wenn Sie ein Start/Herunterfahren Skript hinzufügen möchten, müssen Sie für Windows-Einstellungen unter Computerkonfiguration suchen werden. Wenn Sie ein Logon/Logoff-Skript hinzufügen möchten, müssen Sie nach Windows-Einstellungen unter Benutzerkonfiguration suchen.

So zu wiederholen, was Dan sagte mit dieser Information enthalten,

Für Start/Herunterfahren:

  1. Run gpedit.msc (Lokale Richtlinien)
  2. Computer- Konfiguration -> Windows- Einstellungen -> Skripte ->Start oder Shutdown -> Eigenschaften -> Hinzufügen

Für An-/Abmeldung:

  1. Run gpedit.msc (Lokale Richtlinien)
  2. Benutzer Konfiguration -> Windows-Einstellungen -> Scripts ->Logon oder Abmelde -> Eigenschaften -> Add

Quelle: http://technet.microsoft.com/en-us/library/cc739591(WS.10).aspx

+2

Dies ist die bessere Antwort. Wenn Sie GPEditor öffnen, werden zwei Knoten angezeigt, die Sie beschreiben. Da beide Knoten über die Option Windows-Einstellungen verfügen, ist die angenommene Antwort weniger klar als Ihre Antwort. Danke für den Tipp. Sehr hilfreich. –

22

Für diejenigen, die den Taskplaner bevorzugen, ist es möglich, einen Task so zu planen, dass er ausgeführt wird, nachdem ein Neustart/Herunterfahren eingeleitet wurde, indem der Task so eingestellt wird, dass er nach Ereignis 1074 im Systemprotokoll im Even ausgeführt wird t Viewer wurde protokolliert. Allerdings ist es nur für sehr kurze Aufgaben geeignet, die so lange ausgeführt werden, wie das System neu gestartet/heruntergefahren wird, was normalerweise nur ein paar Sekunden dauert.

  • Aus dem Taskplaner:

    die Aufgabe, Beginn: Auf einer Veranstaltung
    Log: System
    Quelle: USER32
    Ereignis-ID: 1074

  • an der Eingabeaufforderung:

    schtasks/create/tn "Taskname"/tr "Task-Datei"/sc onevent/ec-System/mo * [System/evendid = 1074]

Kommentar: der/ec Option ist ab Windows Vista verfügbar. (Danke @ t2d)

Bitte beachten Sie, dass der Status Aufgabe sein kann:

Der angeforderte Vorgang wurde nicht durchgeführt, weil der Benutzer auf das Netzwerk nicht angemeldet hat. Der angegebene Service existiert nicht. (0x800704DD)

aber es bedeutet nicht, dass es nicht laufen.

+0

Danke für den Tipp! @Oz, Wird dies beim Neustart sowie beim Herunterfahren ausgeführt? Der Fall, den ich versuchen möchte, ist Windows Update erzwingt einen Neustart ... –

+0

Ja, es ist, da dieses Ereignis beim Neustart/Herunterfahren angemeldet ist. –

+0

Bitte beachten Sie, dass das Argument '/ ec system' nicht existiert, aber'/ru system' genannt wird. siehe https://support.microsoft.com/en-us/kb/814596#bookmark-4 – t2d

0

Was ich vorschlagen kann, ist eine Verknüpfung zu der .bat-Datei erstellen (zum Beispiel auf Ihrem Desktop) und eine, wenn Sie Ihren Computer herunterfahren möchten (und die .bat-Datei ausführen) klicken Sie auf die Verknüpfung. Bearbeiten Sie anschließend das.bat-Datei und fügen Sie diese Codezeile an das Ende oder, wo nötig:

c:\windows\system32\shutdown -s -f -t 00 

Was dies tut, ist es

  1. Führt den Shutdown-Prozess
  2. Zeigt eine Benachrichtigung
  3. Kräfte alle laufenden Prozesse zu stoppen
  4. Führt sofort
Verwandte Themen