Planifica el apagado del PC

ShutdownRevisando los posts, me he encontrado con un porrón de entradas «borrador» que nunca he llegado a publicar, vete tú a saber por qué razón. Entre ellas, me he decidido a recuperar esta entrada que escribí a principios del 2009.

Ahí va:
Más de una vez he pensado en que sería una buena idea, planificar el antivirus en las máquinas de la oficina al finalizar la jornada laboral. De esta manera, nadie se podrá quejar de que su máquina le va lenta o que no puede trabajar cuando el antivirus está escaneando. El problema que tiene esto, es que no todos los antivirus vienen con la opción de apagar la máquina automáticamente al finalizar el escaneo, y la opción de dejar las máquinas encendidas las 24h del día ininterrumpidamente no es nada interesante si tenemos en cuenta cuestiones como el ahorro de energía.

Para ello, podemos hacer un script que apague la máquina, y otro script que se encargue de planificar la tarea a una determinada hora. Seguramente haya una mejor forma de hacerlo, pero la que explicaré a continuación funciona a la perfección.

/*Apagado.bat*/
REM Cerramos (-s) el PC con un retraso de 10 segundos (-t 10), forzando el cierre de aplicaciones sin previo aviso (-f) pero mostrando un comentario en pantalla (-c)

shutdown -s -t 10 -f -c «Apagado automático de equipo»

Este script apagado.bat, podríamos planificarlo manualmente desde:
{Inicio}->{Programas}->{Accesorios}->{Herramientas del sistema}->{Tareas programadas}
Agregar tarea programada
Seleccionamos el script anterior
Realizar esta tarea: diariamente
Seleccionamos la hora y si queremos lanzar la tarea únicamente los días laborables o todos los días de la semana
Finalmente, introducimos los credenciales con los que se ejecutará la tarea

Si tenemos muchos PCs, no nos interesará tener que ir PC a PC, manualmente, añadiendo esta planificación, así que para ello, tenemos este segundo script:

/* Planificador.bat */
C:\Windows\system32\schtasks.exe /create /RU DOMAIN\admin /RP AdminPass /SC daily /ST 21:30:00 /TN «Shutdown» /TR C:\apagado.bat

Este script se encargará de crear una tarea planificada llamada «Shutdown» que se ejecutará diariamente a las 21:30, con credenciales DOMAIN\admin, y que llamará al script anterior, apagado.bat.

Únicamente necesitaremos una herramienta de distribución de software para crear un paquete con los dos scripts, que se encargue de primero copiar apagado.bat a C:, y posteriormente ejecute planificador.bat.

Como nota final, dos apuntes: en planificador.bat, podemos añadir al principio una instrucción «copy apagado.bat C:\» para que sea este script el encargado de copiar el planificador.bat a C:\. Finalmente, decir que Windows Home no tiene la utilidad schtasks, así que no podremos usar el script planificador.bat en estos SO.

Fuentes:
http://support.microsoft.com/?kbid=814596
http://technet.microsoft.com/en-us/library/bb490996.aspx
http://wpkg.org/Schtasks_for_XP_Home

Flickr! Foto por cellanr

SAIs Y PCs virtuales

ApagadoTenía ya preparada una entrada sobre como ingeniárselas para apagar de forma correcta tus servidores virtualizados, cuando éstos están conectados a un SAI el cual se apaga automáticamente al detectar un corte de luz prolongado. Cómo no tenía una respuesta había diseñado un script que siguiendo la forma de trabajar de algunos dispositivos de alta disponibilidad, me apagaba los servidores al detectar un corte de luz.

Finalmente, vimos que VMWare Server, (la versión gratuita y totalmente funcional para entornos de producción de servidores virtualizados) ya viene preparado para apagarse de forma correcta, durante el proceso de apagado de la máquina física (host) en la que se aloja, de la misma manera que permite encenderse a la par que su host.

Esta fantástica funcionalidad, está directamente disponible desde la consola de administración de las máquinas virtuales (VMWare Server Console), en las opciones de apagado y encendido (y yo sin encontrarla…), y de esta forma, permite gestionar las máquinas virtuales alojadas en hosts conectados a un SAI, los cuales queremos apagar de forma correcta y segura, y sobretodo de forma automática, ante problemas en la red eléctrica.

Esto soluciona el problema al que le estaba dando vueltas: existen mecanismos de apagado automático de PC’s conectados a un SAI. Pero si estos PC’s contienen a su vez otros PC’s virtualizados en su interior, ¿cómo los apagamos de forma correcta antes de que se apague automáticamente el PC físico que los aloja? Pues con VMWare!

Flickr! Foto por cirox