Starting SpeedFan with Windows

SpeedFan is a program for manual and automatic fan speed management. It is a program that many, including myself, would like to have running all the time. The problem, on versions of Windows above XP, is that it requires administrative rights. As such, it cannot simply be added to the Startup folder (shell:autostart). On this page, I describe how to circumvent that.

1. Create scheduled task

Run the following command with administrative priviliges:

schtasks /Create /SC once /ST 00:00 /TN SpeedFan ^
/TR """"C:\Program Files (x86)\SpeedFan\speedfan.exe"""" /IT /RL HIGHEST

This will create a task that starts SpeedFan with administrative privileges. The only problem is that the task automatically ends after three days. If you prefer to keep it running indefinitely, open taskschd.msc and edit the task manually.

2. Run task on login

A task can be scheduled to run at login using schtasks or taskschd.msc, but that will run the task almost immediately after logging in, before even the GUI has loaded. This results in SpeedFan starting, but in an invisible state.

To circumvent this, open shell:startup and add a shortcut to the following command:

schtasks /Run /TN SpeedFan

Now, Windows will run the shortcut whenever the user logs in, but not before the GUI is started.

3. Configure SpeedFan

I recommend checking the "start minimized" checkbox in the Options section of the SpeedFan configuration window. This will minimize SpeedFan to the tray whenever it is started. Note that the window might be displayed for a millisecond or so before being minimized.

I also recommend checking "Set fans to 100% on program exit". This is annoying, which is good, because you will definitely notice if SpeedFan exits for some reason.

That is all you need to do in order to have SpeedFan start automatically. The shortcut created in shell:startup can also be used to start SpeedFan on demand, if it has been closed.