Run shutdown script on a Domain Server to shut down Windows 2000 servers in a different workgroup?
We have two Windows 2000 servers which run our Cisco Call Manager software. The servers are in a workgroup. We also have one Windows 2000 server running Cisco Unity which is part of our main domain, the rest of the servers, domain controllers etc are all running Windows Server 2003.
We are installing some environmental monitoring software on one of the 2003 servers on the domain and I would like to be able to run a script which would shut down the windows 2000 servers in the event of something like an air con failure.
Is this possible?
I can ping the Call Manager 2000 Servers from the 2003 domain but not the other way round. If I go into “my network places” on the 2000 servers I can see the domain, and see all of the computers in it. However I can only actually access the Windows 2000 Unity Server. Likewise the Unity Server is the only one I can ping.
Is there any way to give the domain admin account that the script will be running under permissions on the 2000 servers? And is there a way to allow the 2000 servers to connect to the 2003 ones without removing them from their workgroup?
Any help would be appreciated.
Thanks
Remotely invoking shutdown on a Windows machine, as you're describing requires two-way communication between the host initiating the shutdown and the host being shut down. Authentication is "baked in" to the protocol, so you'll also have to get the host initiating the shutdown to authenticate properly.
A simple script to remotely invoke the shutdown on a remote non-domain-joined computer would be as follows:
net use \\x.x.x.x\ipc$ /user:administrator password
shutdown -s -t 10 -f -m \\x.x.x.x
met ise \\x.x.x.x\ipc$ /delete
Substitute in the IP address of the remote server for "x.x.x.x" and the local Administrator username and password on the remote server on the first net use
line.
Relying on "seeing" computers in "My Network Places" doesn't, unfortunately, tell you too much about what kinds of traffic are permitted between machines.
I just sniffed such an exchange between a Windows Server 2003 machine and a Windows 2000 Server machine (which, funnily enough, is running an old 2003-era Cisco CallManager 3 installation for one of my Customers) and performed the shutdown using the script above (though I rebooted their server, rather than shutting it down-- the packet exchange is the same). I observed that TCP ports 139 and 445 were used to move the traffic. I'd guess that if I had only port 139 open it'd probably still work, but you'd have to try that to see.
If you want to use the name of the CallManager server, rather than the IP address, in the shutdown script then you'll need to have either NetBIOS or DNS-based name resolution working.
Edit:
That's not so much a "Windows problem" as a hardware power-management problem, typically. You may have the wrong HAL installed, or the BIOS power management support may be turned off.
You can try adding the REG_SZ value "PowerdownAfterShutdown" in "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" and setting it to "1" to see if it has an effect on the behavior.
Check the BIOS and be sure that power-management functionality is enabled.