Exemples de scripts PowerShell
Vous trouverez ci-dessous deux exemples de scripts PowerShell à utiliser pour fournir un mot de passe à usage unique via une solution de messagerie personnalisée (application).
Script PowerShell utilisant Send-MailMessage : ce fichier est nommé 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 |
Script PowerShell utilisant System.Net.Mail : ce fichier est nommé 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) |
Remplacer les espaces réservés Dans les exemples de scripts ci-dessus, remplacez les espaces réservés <server> (<serveur>), <port>, <username> (<nom_utilisateur>) et <password> (<mot_de_passe>) par les informations SMTP correspondantes. |
Test et utilisation
1.Enregistrez le script à l’emplacement souhaité, par exemple c:\work\sendmail.ps1.
2.Testez le script en dehors d’ESET Secure Authentication On-Prem (ESA) à l’aide de la ligne de commande Windows :
a.Appuyez sur la combinaison de touches Windows + R.
b.Tapez cmd.EXE, puis appuyez sur Entrée.
c.Dans la fenêtre de ligne de commande, exécutez :
powershell c:\scripts\sendmail.ps1 test@address.com 123456
Remplacez test@address.com par une adresse e-mail valide. Vous pouvez consulter votre boîte de réception.
d.Si le test réussit, passez à l’étape suivante.
3.Dans la section Delivery Options (Options de livraison) d’ESA, faites référence au script de la façon suivante :
powershell c:\scripts\sendmail.ps1 [E-mail-Addresses] [OTP]