SYSTEM user Command Prompt
Sometimes while testing or debugging scripts and applications, it is useful to run programs as the SYSTEM user (also called NT AUTHORITY\SYSTEM or LocalService account). This is the user context under which most services run. So, for example, if one is testing a workstation startup script, he would want to execute it as the SYSTEM user since that is the user account that runs system startup scripts.
Copy and paste the following lines into a text file and save it as systemcmd.bat. When you execute the script, you should be presented with a Command Prompt with a current working directory of c:\windows\system32.
@ECHO OFF :: systemcmd.bat :: :: This bat file starts a command window (cmd.exe) under the SYSTEM (aka LocalSystem) :: user context. Running this script requires Administrator rights on the local :: workstation. >NUL 2>NUL sc create systemcmd binpath= "cmd /C start" type= own type= interact >NUL 2>NUL net start systemcmd >NUL 2>NUL sc delete systemcmd
To verify that it worked, run the command set user at the prompt. The output should look like this:
c:\windows\system32>set user USERPROFILE=C:\Documents and Settings\LocalService c:\windows\system32>
So to verify that the SYSTEM user has read access to the wpkg directory and/or the software installer directories, you can run something like this:
c:\windows\system32>dir \\server\share\wpkg Volume in drive \\server\share is DATA Volume Serial Number is XXXX-XXXX Directory of \\server\share\wpkg 10/27/2010 09:12 AM <DIR> . 10/27/2010 09:12 AM <DIR> .. 09/26/2009 12:31 AM 40,003 Changelog 09/07/2009 10:59 AM 25,524 config.xml 06/04/2010 06:30 AM <DIR> hosts 03/26/2010 10:48 AM 627 hosts.xml 08/17/2010 03:23 PM <DIR> packages 03/26/2010 10:49 AM 2,152 packages.xml 06/17/2010 09:30 AM <DIR> profiles 03/26/2010 10:46 AM 540 profiles.xml 05/12/2010 02:51 PM 2,713 setServer.bat 05/05/2010 08:52 AM <DIR> tools 10/27/2010 09:12 AM 1,950 wpkg.bat 05/13/2010 07:26 AM 232,007 wpkg.js 03/29/2010 09:32 AM <DIR> xsd 8 File(s) 305,516 bytes 7 Dir(s) 49,194,672,128 bytes free c:\windows\system32>
If you get Access is denied, then you need to check the share and NTFS permissions. If you are on a Windows domain, you can set the NTFS permissions to allow read access from "Domain Computers" and the share permissions to allow "Everyone" full control (or you can just add "Domain Computers" to the share permissions).
Sometimes it it handy to browse the file system with Windows Explorer instead of the command line. However, simply starting explorer.exe will just open a new Explorer window running as the logged-in-user (not the SYSTEM user). This command will start a separate explorer.exe process running as the SYSTEM user: