Si has querido realizar una tarea programada con Windows 10 te habrás dado cuenta de que MicroSoft da por obsoletas las opciones de enviar un email o mostrar un mensaje.

accion tarea

Es evidente que lo hacen para potenciar el uso de PowerShell y de este modo incrementar su difusión. Así es que nosotros vamos a hacer un Script de PowerShell para enviar un email desde la consola y luego vamos a crear una tarea programada que lo ejecute.

El Script puede ser por ejemplo así:

$EmailPropio = "Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.";
$EmailDestino = "Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.";
$Asunto = "El asunto del email"
$Mensaje = "El cuerpo del mensaje"
$ServidorSMTP = "smtp.gmail.com"
$ClienteSMTP = New-Object Net.Mail.SmtpClient($ServidorSMTP, 587)
$ClienteSMTP.EnableSsl = $true
$ClienteSMTP.Credentials = New-Object System.Net.NetworkCredential("usuario", "contraseña");
$ClienteSMTP.Send($EmailPropio, $EmailDestino, $Asunto, $Mensaje)

Solo habría que personalizar las diferentes variables con los valores que te correspondan prestando especial atención al "usuario" y "contraseña" (ojo que las credenciales van todas en una sola línea)

Una vez personalizado el Script lo tenemos que guardar en un archivo con extensión .ps1 en una carpeta accesible, con permisos suficientes al menos a nuestro usuario o al que vaya ejecutar la tarea.

Luego desde el programador de tareas seleccionamos como acción a realizar "Iniciar un programa" y en el siguiente paso escribimos lo siguiente:

powershell -file "C:\rutadelscript\nombredelscript.ps1"

script tarea

  Y al darle a siguiente luego pulsamos Sí:

script tarea2Con esto ya tendremos la tarea que envía emails. Asóciala a un evento, a un horario, a un inicio de sesión... a lo que necesites y desde ese momento tu ordenador te avisará por email de lo que suceda.

NOTA: Para asegurarnos que GMAIL envía los mensajes correctamente tenemos que habilitar el uso de "aplicaciones menos seguras" en la configuración de la cuenta de Google. Ayuda de Google.

 

Para Windows 2008

Para que se ejecuten los scripts de PowerShell en Windows 2008 hay que activarlos con el siguiente comando escrito en la consola de PowerShell: Set-ExecutionPolicy Unrestricted

Para ejecutar los scripts en PowerShell con una tarea programada hay que hacerlo sin el parámetro -file que se usa para Windows 10, de modo que quedaría así: powershell "rutadelscript\script.ps1"