MultiOTP. Генерація QR код користувача за допомогою скрипта у файл png.

Щоб не генерувати 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” і відправляє поштою.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *