Щоб не генерувати QR користувачеві через адмінку сата зробимо це скриптом PowerShell та Bat файлом. Так як multiotp приймає команди тільки в cmd. Я зробив сам скрипт і батник, який передає в нього логін користувача для відправки по пошті користувачу.
user_qr_code.bat:
cd C:\MultiOTP\windows set /p UNAME="User Name:" multiotp -qrcode %UNAME% C:\MultiOTP\%UNAME%.png powershell -file C:\MultiOTP\send_qr.ps1
send_qr.ps1:
$searcher = Get-ADUser -Filter “SamAccountName -like ‘$env:UNAME'”
$usr = $searcher.SamAccountName
$emailFrom = “certinf@yourserver.com”
$emailTo = $searcher.UserPrincipalName
$subj = “QR code”
$body = “This is your qr-code for enter on terminal server”
$file = “C:\MultiOTP\$usr.png”
$smtpServer = “mail.yourserver.com”
$att = new-object Net.Mail.Attachment($file)
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg = new-object Net.Mail.MailMessage
$msg.From = $emailFrom
$msg.To.Add($emailTo)
$msg.Subject = $subj
$msg.Body = $body
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()
При запуску батника у вас запропонує ввести логін користувача “User Name” та запише в
змінну “%UNAME%”. Далі йде генерація QR коду в картинку “multiotp -qrcode %UNAME% C:\MultiOTP\%UNAME%.png“
Сам скрипт “send_qr.ps1” отримує від батника логін користувача шукає його по AD, бере його поштову адресу з властивостей облікового запису, прикріплює згенеровану картинку з QR кодом “%UNAME%.png” і відправляє поштою.
