====== Shut Down or Reboot a Windows Server ====== ===== From Linux ===== :!: Use a username with admin privileges. :!: You will need the ''samba-common'' package installed for Ubuntu. * ''sudo apt-get install samba-common'' net rpc shutdown -r -f -I xxx.xxx.xxx.xxx -U username ===== Do It Now ===== Reboot the local machine now: shutdown -r -t 0 Shutdown now showing a dialog box with a timer (in seconds): shutdown -s -t 60 With a timer and a message: shutdown -s -t 120 -c "Please save your work immediately because the server is being rebooted!" Shutdown another computer in your domain: shutdown -s -m \\computername -t 10 Cancel a shutdown: shutdown -a ===== Do It Later ===== ==== Using the 'at' Command ==== Download and extract the [[http://download.sysinternals.com/Files/PsTools.zip|PsTools]] package from SysInternals (now Microsoft). We extract the zip archive into ''C:\Support\PsTools\'' as a convention. Use the 'at' command to schedule a one-off reboot: at 2:00am c:\support\pstools\psshutdown.exe -r -f -c -t 10 or shutdown: at 2:00am c:\support\pstools\psshutdown.exe -s -f -c -t 10 Where: -s: Shutdown windows server -r: Reboot windows server -f: Forces all running application to exit -c: Allow the shutdown to be canceled user -t: Specifies the countdown in seconds until the shutdown ==== Using the Task Scheduler ==== === Windows 2003/2008 === http://www.itbox4vn.com/2011/05/how-to-schedule-windows-server-20032008.html === Windows 2008 R2 === http://www.wegotserved.com/2011/11/04/set-automatic-scheduled-reboots-windows-home-server-2011/ **Task Scheduler -> Action -> Create Task -> General** - **Name** the task ''Scheduled Reboot'' - Use the ''SYSTEM'' **user account** - **Select** ''Run with highest privileges'' - **Configure** for ''Windows 2008 R2'' **Task Scheduler -> Action -> Create Task -> Triggers** - **On a schedule** - **One time** :!: We add two actions, one to warn users and the other to reboot the server. **Task Scheduler -> Action -> Create Task -> Actions** - Set the **Action** to ''Start a program'' - Set the **Program** to ''C:\Windows\System32\msg.exe'' - Set the **Arguments** to ''* "Please log out now. This server is rebooting in 5 minutes!"'' **Task Scheduler -> Action -> Create Task -> Actions** - Set the **Action** to ''Start a program'' - Set the **Program** to ''C:\Windows\System32\shutdown.exe'' - Set the **Arguments** to ''/r /f /t 300 /c "Scheduled Reboot" /d p:4:1'' - Set **Start in** to ''c:\windows\system32'' - Set the **Comments** to ''Reboot in 5 minutes with reason as 'Application: Maintenance (Planned)''' === Windows 2012 R2 === **Task Scheduler -> Action -> Create Task -> General** - **Name** the task ''Scheduled Reboot'' - **Use** the ''SYSTEM'' user account - **Select** ''Run with highest privileges'' - **Configure** for ''Windows 2012 R2'' **Task Scheduler -> Action -> Create Task -> Triggers** - **New** - **On a schedule** - **One time** - Set the **date and time** of the desired reboot - **Stop task if it runs longer than** ''30 minutes'' - **OK** :!: We add two actions, one to warn users and the other to reboot the server. **Task Scheduler -> Action -> Create Task -> Actions** - **New** - Set the **Action** to ''Start a program'' - Set the **Program** to ''C:\Windows\System32\msg.exe'' - Set the **Arguments** to ''* "Please log out now. This server is rebooting in 5 minutes!"'' - **OK** **Task Scheduler -> Action -> Create Task -> Actions** - **New** - Set the **Action** to ''Start a program'' - Set the **Program** to ''C:\Windows\System32\shutdown.exe'' - Set the **Arguments** to ''/r /f /t 300 /c "Scheduled Reboot" /d p:4:1'' - Set **Start in** to ''c:\windows\system32'' - **OK** :!: You can easily export saved tasks to be imported to other machines.