Run Command Prompt as NT AUTHORITY\SYSTEM to test SCCM Applications

When creating SCCM applications, one of the installation behavior options is “Install for system.”  When this option is selected, installs will be ran as the NT AUTHORITY\SYSTEM user to install the application for all users on a computer.  The alternative to this is to use the “Install for user” option which will run the installer using the currently logged-on user’s rights.

Generally the “Install for system” option will work fine since the SYSTEM user has escalated administrator rights, but I have seen several instances when executing files as SYSTEM user behaves differently than a standard administrator user (see the end of this post).  For this reason, I have found it saves time to test installs by running them as SYSTEM user prior to importing the files into SCCM.

First download PsTools (PsExec) from Sysinternals here: https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Extract the PsTools.zip folder to your hard drive.

Open an escalated command prompt (right-click, run as administrator) and change directories to the PsTools.zip extracted data.  Launch PsExec.exe with the -i and -s switches while pointing to cmd.exe:

PsExec.exe -i -s %SystemRoot%\System32\cmd.exe

At this point a new command prompt window should open.  Type whoami to verify that you are now running as NT AUTHORITY\SYSTEM.

ntauthsystem

You can then use this prompt to run and test your install files.

I mentioned I’ve occasionally seen items execute differently as SYSTEM user than as a regular administrator user.

The only consistent issue I’ve seen with SYSTEM user is when creating CLI printer installs. I used to use the built-in Windows printing scripts prnport.vbs, prndrvr.vbs, prnmngr.vbs, and prncnfg.vbs to install printers. For some reason a few of these VB scripts will not execute properly under SYSTEM user (although they work fine when ran from regular administrator accounts) so I’ve had to resort to other options.

I will sometimes, but very rarely, see an EXE that errors out or doesn’t complete as expected when ran as SYSTEM user.  But to be sure use the above method to verify.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: