Зразки сценаріїв PowerShell

Нижче наведено два зразки сценаріїв PowerShell для доставки одноразового пароля за допомогою спеціального рішення (програми) для електронної пошти.

Сценарій PowerShell, в якому використовується Send-MailMessage. Відповідний файл має ім’я sendmail.ps1

param

(

 [string] $toAddress,

 [string] $otp

)

$smtpServer = "<server>"

$smtpPort = "<port>"

$smtpUsername = "<username>"

$smtpPassword = "<password>"

 

$fromAddress = "esa@localhost"

$subject = "ESA OTP"

$body = "Your OTP: $otp"

 

$smtpPassword_sec = ConvertTo-SecureString $smtpPassword -AsPlainText -Force

$credential = New-Object System.Management.Automation.PSCredential ($smtpUsername, $smtpPassword_sec)

 

Send-MailMessage -SmtpServer $smtpServer -Port $smtpPort -Credential $credential -UseSsl -From $fromAddress -To $toAddress -Subject $subject -Body $body

Сценарій PowerShell, в якому використовується System.Net.Mail. Відповідний файл має ім’я sendmail.ps1

param

(

 [string] $toAddress,

 [string] $otp

)

$smtpServer = "<server>"

$smtpPort = "<port>"

$smtpUsername = "<username>"

$smtpPassword = "<password>"

 

$fromAddress = "esa@localhost"

$subject = "ESA OTP"

$body = "Your OTP: $otp"

 

$mailMessage = New-Object System.Net.Mail.MailMessage($fromAddress, $toAddress, $subject, $body)

$smtpClient = New-Object System.Net.Mail.SmtpClient($smtpServer, $smtpPort)

$smtpClient.EnableSsl = $true

$smtpClient.Credentials = New-Object System.Net.NetworkCredential($smtpUsername, $smtpPassword);

$smtpClient.Send($mailMessage)

 


note

Заміна покажчиків місця заповнення

У наведених вище сценаріях замініть покажчики місця заповнення <server>, <port>, <username> і <password> відповідними даними SMTP.

Перевірка й використання

1.Збережіть сценарій у бажаному розташуванні, наприклад c:\work\sendmail.ps1

2.Перевірте сценарій поза ESET Secure Authentication (ESA). Для цього скористайтеся командним рядком Windows:

a.Натисніть сполучення клавіш Windows + R.

b.Уведіть cmd.exe й натисніть клавішу ENTER.

c.У вікні командного рядка виконайте команду

powershell c:\scripts\sendmail.ps1 test@address.com 123456

, де test@address.com необхідно замінити дійсною адресою електронної пошти, до якої у вас є доступ.

d.Якщо тест виконано успішно, перейдіть до наступного кроку.

3.У розділі Delivery Options ESA укажіть таке посилання на сценарій:

powershell c:\scripts\sendmail.ps1 [E-mail-Addresses] [OTP]