Я использовал следующий сценарий PowerShell для создания новых пользователей AD, и после создания пользователя идентификатор пользователя и пароль отображаются в Powershell. Теперь я хочу, чтобы этот идентификатор пользователя и пароль автоматически отправлялись новому пользователю с вложением в формате pdf о том, как сбросить пароль с помощью SMTP-сервера.
# Import active directory module for running AD cmdlets
Import-Module activedirectory
#Store the data from user.csv in the $user variable
$ADUsers = Import-csv d:useraccount\user.csv
#Loop through each row containing user details in the CSV file
foreach ($User in $ADUsers)
{
#Read user data from each field in each row and assign the data to a variable as below
$FirstName = $User.FirstName
$Initials = $User.Initials
$Surname = $User.LastName
$DisplayName = $User.DisplayName
$Path = $User.Path
$SamAccountName = $User.SamAccountName
$Password = $User.Password
$Description = $User.Description
if (Get-ADUser -F {SamAccountName -eq $SamAccountName})
{
#If user does exist, give a warning
Write-Warning "A user account with Logon Name $SamAccountName already exist in Active Directory."
}
else
{
#User does not exist then proceed to create the new user account
#Account will be created in the OU provided by the $OU variable read from the CSV file
New-ADUser `
-SamAccountName $SamAccountName `
-UserPrincipalName "$SamAccountName@DCNAME" `
-Name "$Firstname $Lastname" `
-GivenName $Firstname `
-Surname $Lastname `
-Initials $Initials `
-DisplayName $DisplayName `
-Description $Description `
-AccountPassword (convertto-securestring $Password -AsPlainText -Force) -ChangePasswordAtLogon $True
add-adgroupmember $MemberGroup $SamAccountName
}
}
Мой вопрос: есть ли у кого-нибудь такой пример сценария, на который я могу ссылаться для выполнения этой задачи. Я установил и настроил SMTP, но не совсем уверен, как добавить скрипт для отправки электронного письма при создании нового пользователя.
PowerShell имеет встроенную поддержку отправки SMTP-сообщений: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage.
Базовый синтаксис:
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
Более подробный пример (взят из той же статьи), который также включает в себя вложение и почтовый сервер для использования:
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Sending the Attachment' -Body "Forgot to send the attachment. Sending now." -Attachments .\data.csv -SmtpServer 'smtp.fabrikam.com'
Кстати, вам не нужно устанавливать SMTP-сервер для отправки электронных писем, и он, вероятно, не будет работать, если вы не настроите его должным образом и несколько других вещей (например, SPF); намного проще использовать существующий.