Reputation: 53121
I've been using Remote Desktop Connection to get into a workstation. But in this environment, I cannot use the power options in Start Menu. I need an alternative way to shutdown or restart.
How do I control my computer's power state through the command line?
Upvotes: 685
Views: 2543846
Reputation: 3181
A few notes:
logoff.exe
does not exist in Windows Home version.shutdown -l -t xx
does not work. I don't know if it ever did, because I never tried it, and the documentation does not say so, but you cannot add the -t
parameter with the -l
. It will print out the help text.shutdown -l -f
does not give you an automatic timer as the documentation implies. It will log you off immediately.Upvotes: 0
Reputation: 57322
Some additions to the shutdown and rundll32.exe shell32.dll,SHExitWindowsEx n
commands.
LOGOFF - allows you to logoff user by sessionid or session name
PSShutdown - requires a download from windows sysinternals.
bootim.exe - windows 10/8 shutdown iu
change/chglogon - prevents new users to login or take another session
NET SESSION /DELETE - ends a session for user
wusa /forcerestart /quiet - windows update manager but also can restart the machine
tsdiscon - disconnects you
rdpinit - logs you out , though I cant find any documentation at the moment
Upvotes: 2
Reputation: 1329292
Original answer: Oct. 2008
You also got all the " serie:rundll32.exe shell32.dll
"
(see update below)
rundll32.exe user.exe,**ExitWindows**
[Fast Shutdown of Windows]rundll32.exe user.exe,**ExitWindowsExec**
[Restart Windows]
rundll32.exe shell32.dll,SHExitWindowsEx n
where n
stands for:
LOGOFF
SHUTDOWN
REBOOT
FORCE
POWEROFF
(can be combined -> 6 = 2+4 FORCE REBOOT
)
1800 INFORMATION kindly points out in the comments:
Don't use
rundll32.exe
for this purpose. It expects that the function you passed on the command line has a very specific method signature - it doesn't match the method signature ofExitWindows
.
Raymond CHEN wrote:
The function signature required for functions called by
rundll32.exe
is:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
That hasn't stopped people from using
rundll32
to call random functions that weren't designed to be called byrundll32
, likeuser32 LockWorkStation
oruser32 ExitWindowsEx
.
(oops)
The actual function signature for ExitWindowsEx is:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
And to make it crystal-clear:
Rundll32
is a leftover from Windows 95, and it has been deprecated since at least Windows Vista because it violates a lot of modern engineering guidelines.
Upvotes: 40
Reputation: 53121
The most common ways to use the shutdown
command are:
shutdown -s
— Shuts down.shutdown -r
— Restarts.shutdown -l
— Logs off.shutdown -h
— Hibernates.
Note: There is a common pitfall wherein users think -h
means "help" (which it does for every other command-line program... except shutdown.exe
, where it means "hibernate"). They then run shutdown -h
and accidentally turn off their computers. Watch out for that.
shutdown -i
— "Interactive mode". Instead of performing an action, it displays a GUI dialog.
shutdown -a
— Aborts a previous shutdown command.The commands above can be combined with these additional options:
-f
— Forces programs to exit. Prevents the shutdown process from getting stuck.-t <seconds>
— Sets the time until shutdown. Use -t 0
to shutdown immediately.-c <message>
— Adds a shutdown message. The message will end up in the Event Log.-y
— Forces a "yes" answer to all shutdown queries.
Note: This option is not documented in any official documentation. It was discovered by these StackOverflow users.
I want to make sure some other really good answers are also mentioned along with this one. Here they are in no particular order.
-f
option from JosephStyonsrundll32
from VonCUpvotes: 1194
Reputation: 589
I'm late to the party, but did not see this answer yet. When you don't want to use a batch file or type the command. You can just set focus to the desktop and then use Alt + F4.
Windows will ask you what you want to do, select shutdown or restart.
For screenshots and even a video, see: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp
Upvotes: 7
Reputation: 32394
You're probably aware of this, but just in case: it's much easier to just type shutdown -r
(or whatever command you like) into the "Run" box and hit enter.
Saves leaving batch files lying around everywhere.
Upvotes: 8
Reputation:
I would write this in Notepad or WordPad for a basic logoff command:
@echo off
shutdown -l
This is basically the same as clicking start and logoff manually, but it is just slightly faster if you have the batch file ready.
Upvotes: 6
Reputation: 5990
When remoted into a machine (target is Windows XP anyway; I am not sure about target Windows Vista), although Shutdown on the start menu is replaced by Disconnect Session or something like that, there should be one called 'Windows Security' which also does the same thing as Ctrl + Alt + End as pointed to by Owen.
Upvotes: 7
Reputation: 58785
If you are on a remote machine, you may also want to add the -f option to force the reboot. Otherwise your session may close and a stubborn app can hang the system.
I use this whenever I want to force an immediate reboot:
shutdown -t 0 -r -f
For a more friendly "give them some time" option, you can use this:
shutdown -t 30 -r
As you can see in the comments, the -f is implied by the timeout.
Brutus 2006 is a utility that provides a GUI for these options.
Upvotes: 381
Reputation: 9994
Another small tip: when going the batch file route, I like to be able to abort it in case I run it accidentally. So the batch file invokes the shutdown but leaves you at the command prompt afterwards.
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
Plus, since it's on a timer, you get about the same thrill as you do when hunting in The Oregon Trail.
Upvotes: 12
Reputation: 109503
No one has mentioned -m
option for remote shutdown:
shutdown -r -f -m \\machinename
Also:
-r
parameter causes a reboot (which is usually what you want on a remote machine, since physically starting it might be difficult).-f
parameter option forces the reboot.Upvotes: 85