Find the answer to your Linux question:
Results 1 to 7 of 7
I have 2 windows box and one linux box. I want to shutdown the windows box remotely from linux box. Any ideas for the above problem ?? I know Samba ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    May 2006
    Posts
    2

    remote shutdown of Windows from Linux box


    I have 2 windows box and one linux box. I want to shutdown the windows
    box remotely from linux box.

    Any ideas for the above problem ?? I know Samba is one way but dont know how to configure Samba for shutting remote windows.

    Every help is appreciated.

    Thanks

  2. #2
    Linux Guru bigtomrodney's Avatar
    Join Date
    Nov 2004
    Location
    Ireland
    Posts
    6,133
    Is this for scripting purposes or just to remotely shut down? If it's just access to do it you could use TS/Remote Desktop or even go the vnc route. If it's a case that you are already remoting it and missing your shutdown command, go to start > settings > Windows Security and you will get the ctrl-alt-del option screen.

  3. #3
    Just Joined!
    Join Date
    May 2006
    Posts
    2
    scripting purpose..I want to automate the process rather than using remote desktop.
    Quote Originally Posted by bigtomrodney
    Is this for scripting purposes or just to remotely shut down? If it's just access to do it you could use TS/Remote Desktop or even go the vnc route. If it's a case that you are already remoting it and missing your shutdown command, go to start > settings > Windows Security and you will get the ctrl-alt-del option screen.

  4. #4
    Just Joined!
    Join Date
    Apr 2006
    Posts
    15

    Arrow here is the python script to shutdown the system remotely

    #!/usr/bin/env python
    # win32shutdown.py

    import win32api
    import win32con
    import win32netcon
    import win32security
    import win32wnet


    def shutdown(host=None, user=None, passwrd=None, msg=None, timeout=0, force=1,
    reboot=0):
    """ Shuts down a remote computer, requires NT-BASED OS. """

    # Create an initial connection if a username & password is given.
    connected = 0
    if user and passwrd:
    try:
    win32wnet.WNetAddConnection2(win32netcon.RESOURCET YPE_ANY, None,
    ''.join([r'\\', host]), None, user,
    passwrd)
    # Don't fail on error, it might just work without the connection.
    except:
    pass
    else:
    connected = 1
    # We need the remote shutdown or shutdown privileges.
    p1 = win32security.LookupPrivilegeValue(host, win32con.SE_SHUTDOWN_NAME)
    p2 = win32security.LookupPrivilegeValue(host,
    win32con.SE_REMOTE_SHUTDOWN_NAME)
    newstate = [(p1, win32con.SE_PRIVILEGE_ENABLED),
    (p2, win32con.SE_PRIVILEGE_ENABLED)]
    # Grab the token and adjust its privileges.
    htoken = win32security.OpenProcessToken(win32api.GetCurrent Process(),
    win32con.TOKEN_ALL_ACCESS)
    win32security.AdjustTokenPrivileges(htoken, False, newstate)
    win32api.InitiateSystemShutdown(host, msg, timeout, force, reboot)
    # Release the previous connection.
    if connected:
    win32wnet.WNetCancelConnection2(''.join([r'\\', host]), 0, 0)


    if __name__ == '__main__':
    # Immediate shutdown.
    shutdown('salespc1', 'admin', 'secret', None, 0)
    # Delayed shutdown 30 secs.
    shutdown('salespc1', 'admin', 'secret', 'Maintenance Shutdown', 30)
    # Reboot
    shutdown('salespc1', 'admin', 'secret', None, 0, reboot=1)
    # Shutdown the local pc
    shutdown(None, 'admin', 'secret', None, 0)



    enjoy have a nice day

  5. #5
    Just Joined!
    Join Date
    Apr 2006
    Posts
    15

  6. #6
    Just Joined!
    Join Date
    Jul 2007
    Posts
    1
    Try PowerOff from this page:

    PowerOff

    Install that on the Windows box as a service with an appropriate password, then test it by telnetting into the box (see chapter 5 of the manual) and shutting down.

    Scripting it should be fairly straightforward after that. (You'll need to automate telnet, perhaps by cat'ing a file with the relevant commands to it...)

  7. #7
    Just Joined!
    Join Date
    Apr 2008
    Location
    Southern California
    Posts
    6
    You can also shutdown a windows box if you have samba installed.

    "net rpc SHUTDOWN -C "some comment here" -f -I x.x.x.x -U user_name%password"

    As long as the user you supplied has rights to shutdown the system it will work.

    I wrote a bash script that scans our network and turns off all our system that are left on over night. If you are interested.



    "#!/bin/bash

    wks=(`nmap -sL --dns-servers 10.x.x.x,10.x.x.x 10.x.x.x/22, 10.x.x.x.x/23 grep FQDN|cut -d" " -f2 |grep -v -f serverlist`)

    for (( i=0; i < "${#wks[@]}"; i++)); do
    net rpc SHUTDOWN -C "This system was left on after hours and is being shutdown" -f -I "${wks[$i]}" -U user_name%password

    done"



    Basically what the script does is scans the network(s) with nmap, pipes it though grep and cut to get the FQDN. Then "grep -v -f serverlist" is an exclude list of server I don't want shutdown. From there it puts the workstations into an array and turns off each system.

    Hope it helps

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •