12

How do you tell Windows to run a command on each system startup?

I have a large number of servers on which I will need to run a command on system startup that makes a non-persistent configuration change.

I can run the command either:

  • as an executable with multiple parameters
  • as a batch file that calls above executable with appropriate parameters

How do I instruct Windows to run my command on every boot, without any sort of login?

related: https://stackoverflow.com/q/5899978/93180

MikeyB
  • 38,725
  • 10
  • 102
  • 186

3 Answers3

16

If you need to set the startup script programatically, you can use Scheduled Tasks:

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

To run the task with elevated permissions (Vista and later), add the parameter /RL HIGHEST

abstrask
  • 1,668
  • 14
  • 24
  • 4
    Much nicer (and simpler to do) solution!! You can also use the Task Scheduler GUI if you prefer. – Jaans Jan 06 '15 at 04:25
8

Define a startup script with your desired BAT file. Do this either via Local Computer Policy (for standalone machines) or via GPO (if in a domain.)

mfinni
  • 35,711
  • 3
  • 50
  • 86
  • How do I programmatically merge my changes into the computer policy? Do I just create a new key under `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startup` and put the appropriate entries there? – MikeyB May 04 '11 at 19:15
  • 1
    You're generally not supposed to manually touch anything in GPOs, AFAIK. And scripting options for making specific changes to GPOs are fairly lacking, from what I recall. You can export, import, create/delete, and link GPOs from scripts, but I don't think you can make specific changes to specific GPOs (easily.) Anyway, that's a different question, and one probably better suited to StackOverflow. – mfinni May 04 '11 at 19:31
  • Yeah, writing up my question now. I'll need to add an entry to the GPO as part of an installer. – MikeyB May 04 '11 at 19:37
  • Actually, now that I know what to look for: http://nsis.sourceforge.net/LGP_Startup/Shutdown_Script – MikeyB May 04 '11 at 19:45
6

Use Group Policy to run a Computer Startup script - this will run when the machine starts up without needing someone to login

Jon Reeves
  • 438
  • 2
  • 7