Apagar remotamente equipos Windows XP desde un servidor Linux
Objetivo
Este documento explica cómo apagar de forma remota equipos con Microsoft Windows XP SP3 desde un servidor Linux (por ejemplo, RHEL5 con Samba). Incluye requisitos, un ejemplo de comando, un script de automatización, comprobaciones, alternativas y recomendaciones de seguridad.
Requisitos para Windows XP para permitir apagado remoto
- Desactivar “Uso compartido de archivos simple”. En Equipo > Herramientas > Opciones de carpeta > Ver, DESMARCAR “Usar uso compartido simple de archivos”.
- Windows Firewall: permitir ICMP y File and Printer Sharing. Panel de control > Centro de seguridad > Firewall de Windows > Excepciones > MARCAR “Compartir archivos e impresoras”. En la pestaña Avanzado > Configuración ICMP > MARCAR “Permitir solicitudes de eco entrantes”.
- Debes poder hacer ping a la dirección IP del equipo Windows XP desde el servidor Linux.
- Derechos para forzar apagado remoto: por defecto sólo Administradores. Para cambiarlo, usa el Editor de directivas locales (gpedit.msc): Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Asignación de derechos de usuario > Forzar el apagado desde un sistema remoto, e incluye el usuario o grupo deseado.
Importante: estos pasos aplican en un entorno de workgroup. En dominios Active Directory algunas políticas se gestionan por GPO central.
Requisitos en el servidor Linux
- Samba instalado y funcionando. En subredes pequeñas, configurar Samba como servidor WINS puede ayudar al nombre/descubrimiento.
- Es recomendable que el servidor DHCP asigne IP estáticas (o reservas) a las máquinas del laboratorio para control más fácil.
- Tener resolución DNS (BIND) para el segmento facilita identificación por nombre.
- El comando que permite apagar remotamente un Windows XP desde Linux usando Samba es:
net rpc SHUTDOWN -C "enter a comment to display at shutdown" -f -I x.x.x.x -U username%password
Explicación breve: x.x.x.x es la IP remota; username debe ser miembro del grupo Administradores en el XP; password es la contraseña correspondiente. La opción -C añade un comentario que verá el usuario antes del apagado; -f fuerza el apagado.
Nota de seguridad: evitar incrustar contraseñas en texto plano en scripts. Usa alternativas como un archivo de credenciales protegido por permisos de archivo (por ejemplo, /etc/samba/cred.conf con 0600) o herramientas de gestión de secretos.
Ejemplo de script y automatización con cron
Crea un fichero con la lista de IPs (por ejemplo /opt/lab/ips.txt), una IP por línea. Un script de ejemplo en bash:
#!/bin/bash
CRED="usuario%contraseña"
COMENTARIO="Apagado nocturno programado"
while read -r IP; do
echo "Intentando apagar $IP"
net rpc SHUTDOWN -C "$COMENTARIO" -f -I $IP -U $CRED
sleep 1
done < /opt/lab/ips.txt
Guarda el script como /usr/local/bin/apagar-lab.sh, dale permisos 700 y propietario root. Programa la ejecución con cron (ejemplo: apagar a las 23:00 cada día):
0 23 * * * /usr/local/bin/apagar-lab.sh >> /var/log/apagar-lab.log 2>&1
Alternativa de credenciales más segura: crear un archivo /root/.smbcredentials con contenido:
username=miadmin
password=secreto
Y establecer permisos 600. Luego adaptar el script para leer ese archivo y no usar contraseña en línea de comando.
Pruebas recomendadas y resolución de problemas
- Prueba individual: desde el servidor Linux, ejecuta el comando contra una sola IP y verifica la respuesta de net. Samba suele mostrar errores de autenticación o conectividad claros.
- Si el equipo no responde: comprobar ping, comprobar que File and Printer Sharing está activo y que el servicio “Servidor” (lanmanserver) está corriendo en XP.
- Si falla autenticación: verificar que la cuenta es Administrador local y que la contraseña es correcta. Comprueba políticas locales que limiten inicio de sesión remoto.
- Revisar logs de Samba (/var/log/samba/) para mensajes de error.
- Problemas por nombres: usa siempre la IP hasta que la resolución DNS/WINS esté confirmada. net rpc -I fuerza el uso de IP.
Casos en los que esto falla: máquinas apagadas o fuera de red, firewalls intermedios que bloquean SMB (puerto 445/139), equipos en dominio con políticas que impiden conexiones anónimas o remotas.
Alternativas viables
- PsShutdown (Sysinternals) ejecutado desde una máquina Windows con credenciales administrativas. Requiere WinRM/servicios configurados y acceso de red.
- WinRM / PowerShell Remoting: más moderno, pero requiere configuración en XP y componentes adicionales (limitado en XP).
- SSH/Cygwin/OpenSSH instalado en el cliente XP: permite ejecutar comandos remotos (requiere instalación y mantenimiento extra).
- Gestión centralizada: usar una solución de administración de endpoints (SCCM, PDQ Deploy, carpetas de políticas) si está disponible.
- Agregar un agente de gestión remota (fabricante o open source) que soporte apagado seguro y reporting.
Cada alternativa tiene trade-offs en complejidad, seguridad y mantenimiento.
Modelo mental y heurística rápida
- Control de energía = control de cuentas administrativas + red. Si algo falla, revisa en ese orden: conectividad (ping), firewall/puertos, autenticación/privilegios.
- Automatización segura = scripts + almacenamiento seguro de credenciales + registros (logs).
Checklist por rol
Administrador de red:
- Samba configurado y probado
- DHCP con reservas IP o documentación de direcciones
- DNS/WINS operativo opcionalmente
- Archivo de credenciales seguro y con permisos correctos
Profesor/Responsable local:
- Revisar que los alumnos cierren aplicaciones antes de la hora de apagado
- Mantener la lista de IPs actualizada
- Probar un apagado manual antes de confiar en la automatización
Criterios de aceptación
- Los equipos del laboratorio se apagan automáticamente a la hora programada en al menos tres ejecuciones consecutivas.
- El script registra resultados (éxitos y errores) en /var/log/apagar-lab.log.
- No hay contraseñas en texto plano accesibles para usuarios sin privilegios.
Seguridad y privacidad
- Limita el usuario que puede ejecutar apagados remotos mediante la política local de Windows.
- Protege las credenciales con permisos estrictos y, si es posible, utiliza un almacén de secretos.
- Considera el contenido de las máquinas: si hay datos personales, aplica la política de retención y cifrado apropiada antes del apagado.
- Evita ejecutar comandos como root innecesariamente; encapsula la lógica en un binario o script con permisos controlados.
Nota: el apagado en sí no exime del cumplimiento de políticas de privacidad o protección de datos; asegúrate de cumplir la normativa local.
Glosario rápido (una línea cada término)
- Samba: implementación libre del protocolo SMB/CIFS para interoperar con Windows.
- WINS: servicio de resolución de nombres NetBIOS en redes Windows.
- BIND: servidor DNS común en sistemas Linux/Unix.
- DHCP: servicio que asigna direcciones IP en la red.
- gpedit: Editor de directivas locales en Windows.
Resumen final
Usar net rpc SHUTDOWN desde un servidor Linux con Samba es una solución práctica y probada para apagar PCs Windows XP en un laboratorio. Requiere configuración mínima en los clientes y en el servidor, y se puede automatizar con scripts y cron. Valora las alternativas y aplica buenas prácticas de seguridad para evitar exposición de credenciales y problemas de conectividad.
Importante: prueba siempre el procedimiento con unas pocas máquinas antes de aplicarlo al conjunto del laboratorio.
Materiales similares

Crear pósters impactantes: 6 pasos prácticos

Ver contador de 'No me gusta' en YouTube

Convertir Spotify a MP3 sin premium — TuneFab
Configurar RAID y migrar datos en Linux
