Frage

Dies ist eine Windows 2003-Maschine, die jeden Morgen eingeschaltet wird, aber niemand meldet sich erst einige Stunden später.

Ich möchte die Zeit nutzen, zwischendurch ein Backup-Skript c auszuführen: \ script \ backup.cmd

Wie kann ich diese unbeaufsichtigt starten, nachdem die Maschine gekommen ist?

Ich habe versucht 2 Registry-Schlüssel, aber dies führte im Skript, nachdem ein Benutzer anmeldet ausgeführt werden auf (das ist zu spät):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

Am Ende habe ich Windows-Taskscheduler, der eine solche Option hat, aber ich frage mich, ob es eine andere Möglichkeit ist?

War es hilfreich?

Lösung

Kurze Antwort: GPEDIT.MSC (Start, Ausführen, GPEdit.msc)

Windows 2000 und höher [1] bieten einen Computer Startup Scripts Sammlung im Richtlinien-Editor:

  • Computereinstellungen -> Windows-Einstellungen -> Skripts (Start / Herunterfahren)

Es gibt ein Äquivalent Anmelde Scriptbereich (das heißt nach dem Starten des Computers, wenn sich ein Benutzer anmeldet) in der Benutzerkonfiguration Bit.

Längerer:

GPEDIT.MSC ist die Gruppenrichtlinien-Bearbeitungskonsole und läuft gegen das Geschäft der Gruppenrichtlinie des lokalen Computers, wenn es direkt verwendet wird, so ist es nützlich für die Einstellung nur lokale Parameter. Wenn Active Directory verwendet, wird die gleiche Schnittstelle verwendet, um Wald-hosted Gruppenrichtlinienobjekte (GPOs), so dass die gleichen Einstellungen zur Verfügung über eine Reihe von Maschinen bearbeitet werden.

Die Computerstartskripts in der Computer-Kontext ausführen , dh Local, wie erwähnt sie, so dass sie oft nicht Netzlaufwerke zugreifen, die einen bestimmten Benutzer oder Gruppenmitgliedschaft erfordern, zu arbeiten und so weiter . Wenn Computer auf das Netzwerk zugreifen, sie in der Regel (mit Ausnahmen) verwenden, um ihr MACHINENAME- $ Konto.

A Startskript ist eine schnelle und einfache Möglichkeit, einen laufenden Prozess des Erhaltens, wenn die Maschine startet.

Der Computer Startvorgang wird durch die Zeit beeinflusst werden, um das Programm auszuführen nimmt, obwohl, so dass Sie sicherstellen, möchten Sie vielleicht mit dem START-Befehl aus einer Batch-Datei aufrufen, oder nicht zu warten, bis die ausführbare Angabe zu vervollständigen in welcher Skriptsprache Sie verwenden. (Der entscheidende Punkt ist: das Skript ausführen asynchron es sei denn, es ist wichtig, oder muss nicht asynchron ausgeführt wird cos es wird immer nimmt keine Zeit überhaupt Langer Stiefel. = unglücklich Benutzer).

einen Win32-Dienst ist eine alternative Option - Sie können verwenden Sie die SRVANY Dienstprogramm aus dem Resource Kit "Service-ify" ziemlich jede ausführbare Datei. VS.Net 2002 und später auch Sie einen Managed-Service direkt bauen.

und Taskplaner werden viel besser in der Lage als von Vista / 2008, in der Lage Skripte beim Start ausgeführt, im Leerlauf, und / oder wenn Ereignisprotokolle generiert werden oder bestimmten andere Bedingungen erfüllt sind: es ist ziemlich cool! Geplante Tasks hat den möglichen Vorteil, dass das Benutzerkonto angeben, unter dem die Aufgabe ausgeführt wird, wenn es das ist wichtig für Sie.

Caveat Scriptor: http://support.microsoft.com/kb/256320

Ausführen Startup Scripts Asynchron: http://msdn.microsoft.com/en-us/library/ms811602. aspx

Vista Taskplaner (was ist neu): http://technet.microsoft.com/en-us/appcompat/aa906020. aspx

[1] Windows XP, 2003, Vista / 2008, Windows 7 / 2008R2 Windows 8/2012 Windows 8.1 / 2012R2, Microsoft Windows 10 / Windows Server 2016. Alles. Aber NT4 nicht!

Andere Tipps

Sie haben skizziert bereits eine gute Lösung:

Setup eine geplante Aufgabe auf Windows Start und den Job zu ermöglichen, laufen, wenn der Benutzer nicht angemeldet ist.

Sie können einen Skript beim Systemstart mit einer Gruppenrichtlinie gpedit.msc

laufen

Die Art und Weise Sie dies tun aleady scheint mir in Ordnung; aber wenn Sie einen alternativen Ansatz wollen, dann Dienste gestartet werden, wenn die Maschine startet, so dass Sie einen Dienst schreiben könnte, der erkennt, ob es ein neuer Tag ist ein (für die Neustarts zulassen) und wenn es dann führen Sie Ihre Sicherung.

Wenn I tat dies als ein Service, den ich TCL verwenden würde, weil ich es wissen und wie es und es hat eine Erweiterung twapi , dass Sie ein Skript als Dienst ausgeführt werden kann. Andere Skriptsprachen können auch ähnliche Einrichtungen.

Es ist, wenn Sie Active Directory verwenden. Wenn Sie den Computer auf seine eigene OU isolieren kann oder WMI-Filterung verwenden, könnten Sie ein GPO zuweisen, die ein Startskript für den Computer hat. Dies würde sicherstellen, dass selbst wenn jemand ging über die abgesicherten Modus und deaktiviert den Taskplaner, beim Start und Verbindung mit der Domäne, würde das Skript ausgeführt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top