Forums:
Desde linux quiero crear un script que se ejecute a una determinada hora (cron) y haga shutdown de las máquinas wiondows que le ponga en el script. Esto se puede hacer? Hay otra forma de hacer esto?
Si hay alguna forma de hacerlo os lo agradecería.
Podrías hacer un ejecutable
Podrías hacer un ejecutable en windows que espere una señal de tu script en linux para ejecutar el shutdown, puede ser transferencia de un archivo por http, ftp o samba.
------------
Cogito Ergo Sum
------------
Cogito Ergo Sum
Si no me equivoco ya
Si no me equivoco ya preguntaron lo mismo hace rato ...
Lo más fácil ...
en el cron pones un ping de la muerte a tu Güin2 :D
o mejor instalas cygwin en el Güin2 le configuras el ssh para que el linux pueda ejecutar remotamente el shutdown en el Güin2....
Suerte ...
bye
:)
Echale un vistazo a este
Echale un vistazo a este script Python que encotre entre mis cachibaches ;)
#!/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.RESOURCETYPE_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.GetCurrentProcess(),
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)
OK! Ya lo he conseguido,
OK! Ya lo he conseguido, muchas gracias a todos vosotros por ayudarme. El tema de poner en marcha una màquina remotamente mediante un script, es posible?
Sería interesante que nos
Sería interesante que nos cuentes como lo haz hecho para que le sirva a alguien más que tenga tu misma necesidad, para lo de encender una máquina mediante un script, eso serviría en caso de que el hardware soporte wake on lan por ejemplo...
bye
:)http://webmail.vasconez.ws/badlogin.php?sid={477E5FE1E82CA-477E5FE1E8ABB-1199464417}&tid=3&lid=6