Зразки сценаріїв 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) |
Заміна покажчиків місця заповнення У наведених вище сценаріях замініть покажчики місця заповнення <server>, <port>, <username> і <password> відповідними даними SMTP. |
Перевірка й використання
1.Збережіть сценарій у бажаному розташуванні, наприклад c:\work\sendmail.ps1
2.Перевірте сценарій поза ESET Secure Authentication On-Prem (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]