Попытка отправки электронной почты пользователям, которые являются членами группы AD, и возраст пароля равен 90 - PullRequest
0 голосов
/ 29 сентября 2018

Попытка отправить электронную почту пользователям, которые являются членами определенной группы, а срок действия пароля равен 75 дням, но электронная почта никогда не отправляет и не запускает учетную запись с неправильным сроком действия пароля.Предположим, что моя логика "где-объект" ошибочна.

$NumberDays_A = 75

$EmailServer = "smtp.company.com"
$SMTPUsername = "blah@blah.com"
$MailFrom = "blah@blah.com"

$Users = get-adgroupmember "90DayPswdExpiration" |
    get-aduser -Properties SamaccountName, otherMailbox, PasswordLastSet, PasswordNeverExpires, PasswordNotRequired |
    Where-Object {$(((Get-Date) - $User.PasswordLastSet).Days) -eq $NumberDays_A} 

ForEach ($User in $Users)
{
#Body of the Email using a here-string
$MailBody = @"
Hello,

You are receiving this email because your password will expire in 14.    Please coordinate the password change for this account. 

Password last set: $($User.PasswordLastSet)
Password Age: $(((Get-Date) - $User.PasswordLastSet).Days)
Password Rotation Policy:  Every 90 Days

If you need assistance with the password change please contact the Service    Desk.

Thanks you! 


"@
$MailSubject = "ACTION REQUIRED: Your AD account password must change!"
Send-MailMessage -SmtpServer $EmailServer -From $MailFrom -To    $($user.otherMailbox) -Subject $MailSubject -Body $MailBody

}

1 Ответ

0 голосов
/ 29 сентября 2018

Установите количество дней до 90 с текущей даты и выполните фильтрацию с помощью командлета Where-Object.Вот так:

$Date = (Get-Date).AddDays(-90)
$Users = Get-ADGroupMember '90DayPswdExpiration' |
            Get-ADUser -Properties SamaccountName,
                                   otherMailbox, 
                                   PasswordLastSet, 
                                   PasswordNeverExpires, 
                                   PasswordNotRequired | 
                                        Where-Object { $_.PasswordLastSet -lt $Date }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...