Adding high privileges startup programs in Windows

Last time I explained how to add startup programs in Windows. However, that previous article didn’t tell the whole story, since it only works for programs that do not require elevated privileges. Unfortunately, not every program runs like that. Among those is a very useful utility called SpeedFan, which keeps track of computer temperatures and allows to customize fan speeds, among other things. It’s a very useful, yet complicated program which I hope I can cover in a future article. At any rate, if you try to add a program that requires elevated privileges, recognizable by the small shield badge on the lower right corner of its icon, you’ll notice that nothing happens. You don’t even get the User Account Control dialog asking you if you really want to run that program. Sure, you can disable User Account Control outright, but that comes at the expense of a bit of security. Better safe than sorry, so let’s keep ourselves to the safe side.

NoteNote: The following instructions only apply to users belonging to the Administrators group. When a regular user logs in, these programs won’t run at all. It makes sense, since these require elevated privileges that members of the Users group do not have.

Scheduling a task

In order to get SpeedFan or another program that requires administrator privileges to run at startup, we’ll need to use Task Scheduler. To open it, click the Start menu, expand the Windows Administrative Tools folder and select Task Scheduler, as shown in the screenshot on the left.

Task Scheduler is a very versatile tool you can use to set your computer to run some programs when specific conditions occur. This degree of flexibility, of course, has its downsides, since things can go downhill, so it would be a wise idea to perform a data backup before making any changes inside it and also creating a restore point, just in case.

Before we create a new task, I suggest you create a new folder to store custom scheduled tasks in. This will make tracking the tasks you’ve created easier, since they won’t be lost among those created or required by Windows or other applications you may have installed. To do this, select the Task scheduler library folder on the left pane, then choose Actions -> New folder… from the menu bar at the top.

A dialog will be presented to you, asking to insert a name for the new folder. Insert something relevant, such as My custom tasks, then click OK.

To create a new task, select the My custom tasks folder we just created on the left pane under Task scheduler library, then select Action -> Create task… This dialog will appear.

I know it looks ominous, but don’t worry, I’ll take you by hand through the configuration.

General tab

Let’s start by inserting a Name for our task. Something along the lines of Startup – Application name is a good idea. If you want, insert a concise description explaining what this task does, otherwise leave that field blank.

We will need to click Change User or Group, since we don’t want to run the task as a specific user, but as any user with administrative privileges. After you click Change User or Group, insert Administrators under Enter object name to select, then click OK.

Lastly, check the Run with highest privileges checkbox. If you’ve done everything correctly, your dialog will look similar to this:

Triggers tab

Moving on to the Triggers tab, this one is used to define the conditions under which the task we’re creating is going to run. It’s possible to specify complex conditions by adding multiple triggers, but in our case, we only need to run the application at log on. To do this, click the New button and select At log on from the Begin the task drop-down menu. There’s no need to edit anything else, so click Ok to confirm.

Your Triggers tab should look like this:

Actions tab

The Actions tab is where you can specify what program to run when the conditions specified under the Triggers tab are true. Again, we can create complex sequences of programs if we need, but in our case we just want to run a single program. Click the New… button to specify its path. You can use the Browse button if you don’t remember where it’s stored. Once done, click Ok to confirm.

Again, here’s what the dialog should look like:

Conditions tab

Conditions and triggers are both checked when the operating system has to decide whether it should run the task or not. The difference between the two is that triggers are specific states that must occur for the task to run, whereas conditions are more generic states, such as being on AC power. In our case, we’ll need to uncheck the Start the task only if the computer is on AC power, since we want it to run regardless of the type of power the PC is running on. This is important if you’re on a laptop, whereas a desktop user can ignore this step.

Settings tab

In the Settings tab we can tweak our task a bit more. Since this task must run all the time, let’s uncheck the Stop the task if it runs longer than checkbox.

Removing the start-up program

Since this is a hack we’ve done to make Windows do something it’s not supposed to do, our high-privilege program will not show up in the Start-up tab in Task Manager. In order to disable it, we’ll need to open Task scheduler. Select the custom folder you’ve created and right-click the task, then select Disable. Alternatively, you can decide to Remove the task outright.


About Andrea Luciano Damico 137 Articles
Andrea Luciano Damico is a freelance translator from Italy. Among his interests are linguistics, technology, video games, and generally being a chill guy. He runs Let's and