Search This Blog

Wednesday, January 14, 2009

Shut Down, Restart, Log Off XP Using A Batch File - Undocumented feature for XP

How to shutdown a XP Pro computer when you are connected using RDC (Remote Desktop Connection) using a batch file or RPC (Remote Procedure Command) This is useful if you can't get to the computer but have remote access to the computer via a network or the internet.

First To show you what you will see at a command prompt (command.com) when you type: "shutdown /?" Without the " " on each end.


CODEc:\>shutdown /?
Usage: SHUTDOWN [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "c
omment"] [-d up:xx:yy]

No args Display this message (same as -?)
-i Display GUI interface, must be the first option
-l Log off (cannot be used with -m option)
-s Shutdown the computer
-r Shutdown and restart the computer
-a Abort a system shutdown
-m \\computername Remote computer to shutdown/restart/abort
-t xx Set timeout for shutdown to xx seconds
-c "comment" Shutdown comment (maximum of 127 characters)
-f Forces running applications to close without warning
-d [u][p]:xx:yy The reason code for the shutdown
u is the user code
p is a planned shutdown code
xx is the major reason code (positive integer less than 256)
yy is the minor reason code (positive integer less than 65536)

This is an undocumented feature in XP so I have not found any writeup about it on M$ and everything used here is from other sources. Do not use "cmd" to start the command interpreter (cmd.exe), but type "command" for (command.com. Now you can shutdown the computer by typing "shutdown -s" or to restart the computer type "shutdown -r"

To create a batch file for this you can use notepad, and save the file as .bat in c:\ (root directory) Here are the 3 most used batch files for shutdown:
1 save as down.bat
CODEshutdown -s
2 save as restart.bat
CODEshutdown -r
3 save as forcedown.bat
CODEshutdown -f
4 save as logoff.bat
CODEshutdown -l
5 save as rpcdown.bat (replace computername with the name of your computer )
CODEshutdown -s -m \\computernameand this last one is fun in an enviroment using RPC

So that's a piece of cake, the other options are self explanatory and if you need any help creating the batch file, ask and someone will help