Führen Sie beim Start von Windows einen Befehl aus (nicht anmelden!)

11

Wie weist man Windows an, bei jedem Systemstart einen Befehl auszuführen?

Ich habe eine große Anzahl von Servern, auf denen ich beim Systemstart einen Befehl ausführen muss, der eine nicht persistente Konfigurationsänderung vornimmt.

Ich kann den Befehl entweder ausführen:

  • als ausführbare Datei mit mehreren Parametern
  • als Batch-Datei, die die obige ausführbare Datei mit den entsprechenden Parametern aufruft

Wie weise ich Windows an, meinen Befehl bei jedem Start ohne Anmeldung auszuführen?

Verwandte: /programming//q/5899978/93180

MikeyB
quelle

Antworten:

7

Definieren Sie ein Startskript mit Ihrer gewünschten BAT-Datei. Tun Sie dies entweder über die Richtlinie für lokale Computer (für eigenständige Computer) oder über das Gruppenrichtlinienobjekt (falls in einer Domäne).

mfinni
quelle
Wie füge ich meine Änderungen programmgesteuert in die Computerrichtlinie ein? Erstelle ich einfach einen neuen Schlüssel unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startupund füge dort die entsprechenden Einträge ein?
MikeyB
In Gruppenrichtlinienobjekten, AFAIK, sollten Sie im Allgemeinen nichts manuell berühren. Soweit ich mich erinnere, fehlen Skriptoptionen, um bestimmte Änderungen an Gruppenrichtlinienobjekten vorzunehmen. Sie können Gruppenrichtlinienobjekte aus Skripten exportieren, importieren, erstellen / löschen und verknüpfen, aber ich glaube nicht, dass Sie bestimmte Änderungen an bestimmten Gruppenrichtlinienobjekten (einfach) vornehmen können. Auf jeden Fall ist dies eine andere Frage, die wahrscheinlich besser für StackOverflow geeignet ist.
Mfinni
Ja, schreibe jetzt meine Frage auf. Ich muss dem Gruppenrichtlinienobjekt als Teil eines Installationsprogramms einen Eintrag hinzufügen.
MikeyB
Jetzt, wo ich weiß, wonach ich suchen muss: nsis.sourceforge.net/LGP_Startup/Shutdown_Script
MikeyB
16

Wenn Sie das Startskript programmgesteuert festlegen müssen, können Sie Geplante Aufgaben verwenden:

schtasks.exe /create /tn "Task Name" /ru SYSTEM /Sc ONSTART /tr
"C:\command2run.cmd"

Fügen Sie den Parameter hinzu, um die Aufgabe mit erhöhten Berechtigungen (Vista und höher) auszuführen /RL HIGHEST

abstrask
quelle
4
Viel schönere (und einfachere) Lösung !! Sie können auch die GUI des Taskplaners verwenden, wenn Sie dies bevorzugen.
Jaans
6

Verwenden Sie Gruppenrichtlinien, um ein Computerstart-Skript auszuführen. Dieses wird ausgeführt, wenn der Computer gestartet wird, ohne dass sich jemand anmelden muss

Jon Reeves
quelle