I. Tạo file script powershell.

Tạo một file powershell script (đuôi .ps1) với nội dung như bên dưới:

Trong đó:

  • $smtpServer và $smtpPort : mail server và port SMTP tương ứng sử dụng để gửi email.
  • $Username và $Password : thông tin xác thực (đăng nhập) vào mail server.
  • $email1, $email2 : các địa chỉ email nhận thông báo.
  • Subject : phần tiêu đề email cảnh báo
  • Body : nội dung email cảnh bảo

Trong phạm vi nội dung bài viết, file được tạo là testmail.ps1

image-1642478478837.png

#Địa chỉ email nhận
$email1 = 'you@domain.com'
$email2 = 'yourPartner@domain.com'
$smtpServer = 'mail.domain.com' $smtpPort = '25'
#Nếu bạn sử dụng dịch vụ mail hosting của Long Vân https://longvan.net/mail-hosting.html
#$smtpServer = 'mail.longvan.net' #$smtpPort = '25'
#Nếu bạn sử dụng gmail #$smtpServer = 'smtp.gmail.com'
#$smtpPort = '587'
#Thông tin đăng nhập
$Username = 'username@domain.com'
$Password = 'password'
$message = new-object System.Net.Mail.MailMessage;
$message.From = $Username; $message.To.Add($email1);
$message.To.Add($email2);
$message.Subject = "RESTART Notification";
$message.Body = "Hi there, this SERVER [ip-address] has been restart. Check it now, please!";
$smtp = new-object Net.Mail.SmtpClient($smtpServer,$smtpPort);
$smtp.EnableSSL = $true;
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message); $smtp.Dispose()

II. Cấu hình tự động gửi email.

  1. Mở ứng dụng Task Scheduler sẳn có trên windows.
  2. Trong giao diện làm việc của Task , mục Action, chọn Create Task…
    image-1642478831677.png
  3. Trong cửa sổ Create Task, tab General:
    • Name : nhập tên của task cần tạo.
    • Chọn Run whether user is logged on or not, nhằm đảm bảo task sẽ được chạy khi chưa log on.
      image-1642479189980.png
  4. Trong tab Triggers , nhấn chọn New, và thiết lập thời gian lúc startup
    image-1642479424060.png image-1642479780326.png
  5.  Trong tab Action, chọn New nhập các thông tin như sau:
    • Action: Start a program
    • Program/script: nhập powershell
    • Add arguments (optional): đường dẫn đến file script đã tạo ở phần I
      image-1642585175502.png image-1642585194586.png
  6. Nhấn OK để hoàn thành việc tạo Task schedule, lúc này hệ điều hành sẽ yêu cầu nhập thông tin đăng nhập của server để hoàn tất quá trình.

III. Lưu ý.

  1. Nhằm đảm bảo task schedule hoạt động, cần kiểm tra đảm bảo script powershell (I) hoạt động và gửi / nhận email ổn định.
  2. Trong trường hợp Quý khách sử dụng server gmail để gửi email, cần đảm bảo:
    • Sử dụng App Password ở phần xác thực Sign in with App Passwords – Google Account Help
    • Enable Less secure apps (nếu không sử dụng 2-Step Verification ) Less secure apps & your Google Account – Google Account Help

Như vậy, Long Vân đã hoàn thành hướng dẫn các bạn cách gửi email cảnh báo khi Windows server bị restart. Chúc các bạn thành công !