.single.post-author, Autor: Konstantinos Tsoukalas, Última actualización: 19 de noviembre de 2025

Si desea recibir una notificación por correo electrónico cada vez que una cuenta de administrador desbloquea Windows 10/11 o Windows Server, este tutorial es para usted.

Cuando necesita monitorear sistemas críticos, es útil recibir un Alerta por correo electrónico cada vez que alguien desbloquea una computadora crítica con Windows Server o Windows 10/11. Si es así, esta guía le muestra cómo recibir automáticamente una alerta por correo electrónico cuando cualquier usuario desbloquea un sistema Windows, utilizando el Programador de tareas de Windows y PowerShell.

Cómo forzar a Windows a enviar una notificación por correo electrónico después de desbloquear e iniciar sesión en Windows Server 2016/2019 o Windows 10/11.

Requisito: Un servidor SMTP para enviar correos electrónicos.

Paso 1. Cree un script de PowerShell para enviar notificaciones por correo electrónico.

El primer paso para completar esta tarea es crear un script de PowerShell que enviará un correo electrónico a un destinatario específico con los detalles del inicio de sesión (nombre de usuario y fecha/hora).

1. Cree una carpeta llamada”Scripts“en su unidad C:\ o cualquier otra carpeta donde desee almacenar el script que enviará el correo electrónico. *

* Nota: En esta guía creamos la carpeta de secuencias de comandos en”C:\Windows\System32\Scripts”.

2. Ahora abra el Bloc de notas y copiepegue el siguiente texto para crear la secuencia de comandos:

# Información: esta secuencia de comandos envía un correo electrónico cuando cualquier cuenta de usuario inicia sesión en la computadora.

# Credenciales de correo electrónico para el servidor SMTP
$Username=”[email protected]”      # dirección de correo electrónico del remitente
$PlainPassword=”senderpassword”     # contraseña de correo electrónico del remitente
$SecurePassword=ConvertTo-SecureString $PlainPassword-AsPlainText-Force
$Cred=New-Object System.Management.Automation.PSCredential ($Nombre de usuario, $Contraseña segura)

# Contenido del correo electrónico
$LoggedInUser=$env:USERNAME
$Computer=$env:COMPUTERNAME
$LocalTime=Get-Date-Format”yyyy-MM-dd HH:mm:ss”
$To=”[email protected]”                    # dirección de correo electrónico del destinatario
$Subject=”ServerName Alerta de inicio de sesión: $LoggedInUser”
$Body=@”
El usuario $LoggedInUser ha iniciado sesión en $Computer a las $LocalTime.
“@

# Enviar el correo electrónico
Send-MailMessage-Desde $Nombre de usuario-A $A-Asunto $Asunto-Cuerpo $Cuerpo `
-SmtpServer”mail.domain.com”-Puerto 587-UseSsl-Credencial $Cred

# Opcional: archivo de registro local
Agregar contenido-Ruta”C:\Windows\System32\Scripts\UserLoginLog.txt”-Valor”$LocalTime – $LoggedInUser inició sesión en $Computer”

3. Luego modifique el texto del script de la siguiente manera:

Reemplace”[email protected]”con su dirección de correo electrónico del remitente. Reemplace”senderpassword”con la contraseña de la dirección de correo electrónico de su remitente. Reemplace”[email protected]”con la dirección de correo electrónico del destinatario. Reemplace”ServerName”con el nombre de su servidor Windows o el nombre de su máquina. Reemplace”mail.dominio.com”con el nombre de su servidor SMTP. Reemplace, si es necesario,”587″con el puerto de su servidor SMTPS. Reemplace”C:\Windows\System32\Scripts”con la ruta completa de la carpeta”Scripts”si la creó en otra ubicación.

4a. Cuando termine, en el menú Archivo seleccione Guardar como.

4b. Ahora haga lo siguiente en el cuadro de diálogo”Guardar como”:

Seleccione guardar el archivo dentro de la carpeta”Scripts“que creó antes. Elija en Guardar como tipo: Todos los archivos Elija en Codificación: Unicode  Escriba como Nombre de archivo: “EmailAleltForUserLogins.ps1” Haga clic en Guardar y luego cierre el Bloc de notas.

5. Continúe con el siguiente paso.

Paso 2. Cree una tarea programada en Windows que ejecutará el script al desbloquear Windows.

Después de crear el script para envíe notificaciones por correo electrónico, configúrelo para que se ejecute cuando un usuario desbloquee la máquina para iniciar sesión en Windows.

1. Abra el Programador de tareas y en el menú Acción seleccione Crear tarea.

2. En la ventana’Crear tarea’, haga lo siguiente en la pestaña General:

2a. Escriba un nombre para la tarea (por ejemplo,”SendEmailOnUnlock”)

2b. Seleccione Ejecutar con los privilegios más altos

2c. Haga clic en Cambiar usuario o grupo

2d. En la ventana’Seleccionar usuario o grupo’, escriba”Administradores“. en el nombre del objeto archivado y haga clic en Aceptar

3. Seleccione la pestaña Disparadores  y haga clic en Nuevo

3a. En la ventana’Nuevo activador’, seleccione Al desbloquear la estación de trabajo para Cualquier usuario y haga clic en Aceptar.

4. Seleccione el pestaña Acciones y haga clic en Nuevo.

4a. En la ventana’Nueva acción’, haga lo siguiente y luego haga clic en Aceptar:

En el campo Programa/script, escriba”powershell.exe“. En el campo Agregar argumentos, copie y pegue el siguiente texto: -ExecutionPolicy Bypass-File”C:\Windows\System32\Scripts\EmailAleltForUserLogins.ps1″-WindowStyle Hidden

5. Ahora seleccione las Condiciones y desmarque todas las configuraciones.

6. Finalmente seleccione la pestaña Configuración, elija lo siguiente y luego haga clic en Aceptar:

Permitir el la tarea se ejecutará bajo demanda Ejecute la tarea tan pronto como sea posible después de que se pierda un inicio programado. Si la tarea falla, reinicie cada 1 minuto. Detenga la tarea si dura más de 1 hora. Si la tarea en ejecución no finaliza cuando se solicita, fuerce su detención.

9. Después de crear la tarea, presione las teclas Windows + L para bloquear la computadora y luego desbloquearla e iniciar sesión nuevamente en Windows.

9. Después de iniciar sesión, debería recibir una alerta por correo electrónico en la dirección de correo electrónico del destinatario que especificó en el script de PowerShell (paso 1), notificándole qué usuario desbloqueó e inició sesión en la máquina y cuándo. Además, el evento de inicio de sesión también se registrará en el archivo”UserLoginLog.txt“ubicado dentro de la carpeta”Scripts”(por ejemplo,”C:\Windows\System32\Scripts\UserLoginLog.txt”en este ejemplo).*

¡Eso es todo! Déjame saber si esta guía te ha ayudado dejando tu comentario sobre tu experiencia. Dale Me gusta y comparte esta guía para ayudar a otros.

Si este artículo fue útil para ti, considera apoyarnos haciendo una donación. Incluso $1 puede marcar una gran diferencia para nosotros en nuestro esfuerzo por continuar ayudando a otros mientras mantenemos este sitio gratuito: Konstantinos es el fundador y administrador de Wintips.org. Desde 1995 trabaja y brinda soporte informático como experto en informática y redes a particulares y grandes empresas. Está especializado en la resolución de problemas relacionados con Windows u otros productos de Microsoft (Windows Server, Office, Microsoft 365, etc.). Últimas publicaciones de Konstantinos Tsoukalas (ver todas)

Categories: IT Info