How To Remotely Shut Down Windows XP Computers From A Linux Server
As a budget cutback, our school administrators asked us to shutdown all non-essential classroom computers at night to save electricity. I teach Linux in a classroom that has a Dell Poweredge 2850 Red Hat Enterprise Linux (RHEL5) server and 29 Dell Optiplex 745 student lab computers running Microsoft Windows XP SP3 as the host operating system and VMWare Server to provide virtual Linux machines for our classes. I researched on the Internet for the best solution to remotely shutdown the student lab computers at night. I was not able to find one post or how-to that completely answered my questions, but I was able to piece together a solution. In an effort to document this project and help others with similar needs, here are my notes on the project:
REQUIREMENTS FOR WINDOWS XP TO BE REMOTELY SHUTDOWN BY A LINUX SERVER:
- Disable Simple File Sharing. UNCHECK "Use simple file sharing" under My Computer > Tools > Folder Options > View.
- Check the Windows Firewall and make sure ICMP is enabled and File and Printer Sharing is enabled. Go to Control Panel > Security Center > Windows Firewall > Exceptions > CHECK "File and Printer Sharing". Also on the Advanced tab > ICMP Settings > CHECK "Allow incoming echo request".
- You must be able to successfully ping the IP address of the remote Windows XP computer you want to shutdown.
- The default Local Policy in Windows XP to force a remote shutdown is limited to members of the Administrator group. If you want to change this, use the Group Policy Editor (gpedit.msc) to change this Local Policy. Select Computer Configuration > Windows Settings > Security > Local Policies > User Rights Assignment > Force shutdown for a remote system and change the properties to include the user or group you want to have this authority.
REQUIREMENTS FOR THE LINUX SERVER TO REMOTELY SHUTDOWN WINDOWS XP COMPUTERS:
- Samba must be installed and working properly. In our subnet, the RHEL5 Samba Server is configured as a WINS server for our own separate workgroup.
- It is recommended that the DHCP server be setup to assign static IP addresses to the Windows XP computers. This makes control of the lab computers much easier.
- It is also recommended that BIND be setup with a zone file for the subnet to provide DNS resolution for the computers in the lab subnet.
- The following command will remotely shutdown a Windows XP computer under this scenario:
In this example x.x.x.x is the IP address of the remote Windows XP computer, username is a member of the Administrator group on the Windows XP machine, and password is the correct password associated with the username.
net rpc SHUTDOWN -C "enter a comment to display at shutdown" -f -I x.x.x.x -U username%password
- Test your configuration. Samba is very good about letting you know if your command works correctly or if you have problems.
- Next create a script to shutdown the Windows XP machines. Use crontab to schedule when you want the remote machines shutdown.