Я пытаюсь создать сценарий PowerShell, который будет искать мой Active Directory для пользователей с паролями, срок действия которых истекает через 14 дней, и отправит по электронной почте пользователю напоминание. По большей части у меня есть сценарий, работающий по назначению, но я не получаю надлежащего вывода для электронных писем.Передача переменных в Send-MailMessage
Это сценарий:
Import-Module ActiveDirectory
$below = (Get-Date).AddDays(-77)
$above = (Get-Date).AddDays(-76)
$Persons = Get-ADUser -Filter {PasswordNeverExpires -eq $False -AND (PasswordLastSet -lt $above -AND PasswordLastSet -gt $below) -AND (LastLogonDate -like "*") -AND (MAil -like "*")}
foreach ($Person IN $Persons) {
$body = "Your Windows password will expire in 14 days. Please consider changing your password. - $User.Name - $User.PasswordLastSet"
Send-MailMessage -To $User.Mail -Subject "Alert! Password Expiring Soon!" -From '[email protected]' -Body $body -SmtpServer smtp.server.com
}
Это то, что я получаю в теле письма, которые он отправляет.
Срок действия вашего пароля на Windows истекает через 14 дней. Пожалуйста, подумайте об изменении пароля. - .Name - .PasswordLastSet
Как передать имя пользователя и пароль последним установленным данным в основной текст?
Спасибо, iCodez. Это то, что мне нужно. –