sábado, abril 11, 2020

Programar enviar un archivo por linea de comandos

Esta opción solo es válida con sistemas operativos que contengan "Power Shell".
Lo primero que tenemos que hacer es añadir el siguiente texto a un archivo de "bloc de notas" en blanco.
Dado que en esta opción nuestra contraseña de correo puede transmitirse de manera insegura y dado que esta función se utilizará principalmente para enviar ficheros log, recomendamos usar una cuenta de correo creada únicamente para esta función 

$EmailPropio = "nombre@midominio.com";
$EmailDestino = "nombre@dominiodestino.com";
$Asunto = "Titulo que podemos poner al asunto"
$Texto = "Texto que podemos añadir al cuerpo de mensaje de correo"
$ServidorSMTP = "mail.midominio.com"
$Archivo = "c:\log\log.log"
$Mensaje = New-Object System.Net.Mail.MailMessage
$Mensaje.From = $EmailPropio
$Mensaje.To.Add($EmailDestino)
$Mensaje.IsBodyHtml = $True
$Mensaje.Subject = $Asunto
$Mensaje.Body = $Texto
$Adjunto = New-Object Net.Mail.Attachment($Archivo)
$Mensaje.Attachments.Add($Adjunto)
$ClienteSMTP = New-Object Net.Mail.SmtpClient($ServidorSMTP, 25)
$ClienteSMTP.EnableSsl = $false
$ClienteSMTP.Credentials = New-Object System.Net.NetworkCredential("nombre@midominio.com", "la contraseña de la cuenta de correo");
$ClienteSMTP.Send($Mensaje)

notas:
"nombre@midominio.com" : es la dirección de nuestra cuenta de correo
"nombre@dominiodestino.com" : es la dirección a la que queremos enviar el correo
"mail.midominio.com" : es el dato del servidor smtp de nuestra cuenta de correo
$Archivo : la dirección del archivo que queremos adjuntar
System.Net.NetworkCredential : nuestra dirección de correo y nuestra contraseña

Una vez cubierto los datos oportunos guardaremos el archivo y renombraremos la extensión por *.ps1

Después agregamos una tarea programada en la que la acción sea ejecutar el archivo con esta extensión *.ps1

ejemplo: 


No hay comentarios:

Publicar un comentario

Agradecería tus comentarios para saber si te sirvió para solucionar el problema o cambiaste el procedimiento.