Сценарии PowerShell для уведомления пользователей домена Active Directory об истечении срока действия пароля

Во многих организациях действуют политики, обязывающие пользователей периодически менять свои пароли. Если пароль не будет изменен до истечения срока его действия, пользователи будут вынуждены установить новый пароль при первом входе в систему после истечения срока его действия.

Для пользователей, находящихся в корпоративной сети, это создаст незначительные неудобства, тогда как удаленные пользователи будут заблокированы. Это связано с тем, что такие конфиденциальные задачи, как сброс пароля, необходимо выполнять только из корпоративной сети, в которой развернута служба Active Directory (AD). Обращение в ИТ-отдел для сброса пароля не поможет, поскольку для распознавания устройство должно физически находиться в корпоративной интрасети.

Администраторы могут использовать сценарии PowerShell для получения дат истечения срока действия паролей пользователей AD и отправки им за несколько дней писем с просьбой сменить пароли. Поскольку собственные инструменты графического интерфейса Active Directory не предоставляют такой возможности, для отправки сообщений об истечении срока действия пароля приходится использовать сценарии PowerShell.

Решение для защиты идентификационных данных ManageEngine ADSelfService Plus также поддерживает отправку уведомлений об истечении срока действия пароля пользователям AD.

Представленный здесь сценарий уведомления об истечении срока действия пароля PowerShell отправляет пользователям Active Directory напоминания по электронной почте об истечении срока действия их паролей.

Ниже приведено сравнение использования сценариев PowerShell для отправки писем об истечении срока действия пароля с использованием ADSelfService Plus.

PowerShell ADSelfService Plus

Используйте следующий сценарий PowerShell для проверки срока действия пароля пользователя и отправки уведомления по электронной почте об истечении срока действия за семь дней:

#Импорт модуля AD Import-Module ActiveDirectory #Создание дат предупреждения об истечении срока действия пароля в будущем $SevenDayWarnDate = (get-date).adddays(7).ToLongDateString() #Переменные электронной почты $MailSender = " Password AutoBot<emailaddress@somecompany.com> " $Subject = 'К вашему сведению: срок действия пароля вашей учетной записи скоро истечет' $EmailStub1 = 'Я бот и выполнил это действие автоматически. Я здесь, чтобы сообщить вам, что срок действия пароля для $EmailStub2 = 'истечет через $EmailStub3 = 'дней' $EmailStub4 = '. Если вам нужна помощь в смене пароля, обратитесь в службу поддержки. НЕ ОТВЕЧАЙТЕ НА ЭТО СООБЩЕНИЕ.' $SMTPServer = 'smtp.somecompany.com' #Поиск включенных учетных записей с истекающим сроком действия паролей $users = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False -and PasswordLastSet -gt 0 } ` -Properties "Name", "EmailAddress", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Name", "EmailAddress", ` @{Name = "PasswordExpiry"; Expression = {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed").tolongdatestring() }} #Проверка даты истечения срока действия пароля и отправка письма при совпадении foreach ($user in $users) { if ($user.PasswordExpiry -eq $SevenDayWarnDate) { $days = 7 $EmailBody = $EmailStub1, $user.name, $EmailStub2, $days, $EmailStub3, $SevenDayWarnDate, $EmailStub4 -join ' ' Send-MailMessage -To $user.EmailAddress -From $MailSender -SmtpServer $SMTPServer -Subject $Subject -Body $EmailBody } else {} }
  1. Перейдите на портал администратора ADSelfService Plus.
  2. Перейдите в раздел Конфигурация > Уведомление об истечении срока действия пароля. В открывшемся разделе Уведомление об истечении срока действия пароля/учетной записи нажмите Добавить новое уведомление.
  3. Используйте параметр Выбрать домен, чтобы указать домен, пользователи которого должны получать уведомления. Укажите имя планировщика.
  4. Выберите для параметра Тип уведомления значение "Уведомление об истечении срока действия пароля". Используйте параметр Уведомить по, чтобы указать способ уведомления (почта, SMS или push-уведомление).
  5. Выберите частоту уведомлений (ежедневно, еженедельно или в определенные дни) и используйте параметр "По расписанию", чтобы указать дату и время доставки уведомлений. Например, если требуется уведомить пользователей за семь дней до истечения срока действия пароля, выберите параметр В определенные дни, нажмите "По расписанию" и укажите "7" в соответствующем поле.
  6. При необходимости отредактируйте тему и текст сообщения уведомления.
  7. Нажмите Дополнительно и в открывшемся всплывающем окне используйте параметры, позволяющие исключить отключенных пользователей или пользователей смарт-карт из числа получателей уведомлений об истечении срока действия, а также, если необходимо, отправку сообщений о состоянии доставки уведомлений менеджерам пользователей или любому лицу с учетной записью администратора.
  8. Нажмите Сохранить.
Порядок настройки уведомлений по электронной почте об истечении срока действия пароля с помощью ADSelfService Plus
Настройка расширенных параметров уведомления по электронной почте об истечении срока действия пароля с помощью ADSelfService Plus

Преимущества настройки уведомлений об истечении срока действия пароля с помощью ADSelfService Plus:

  • Быстрая настройка.

    В ADSelfService Plus настроить уведомления об истечении срока действия пароля для пользователей домена можно всего несколькими щелчками мышью. В PowerShell для этого требуется создание, отладка и запуск сценариев.

  • Уведомление пользователей по почте, SMS и посредством push-уведомлений:

    С помощью ADSelfService Plus вы можете выбрать отправку уведомлений по эл. почте, SMS и посредством push-уведомлений всего одним щелчком мышью. В приведенном выше примере PowerShell используется для отправки уведомлений по электронной почте об истечении срока действия пароля. PowerShell также можно использовать для отправки SMS и push-уведомлений, но для этого потребуется создать чрезвычайно сложный сценарий.

  • Уведомление менеджеров пользователей:

    В ADSelfService Plus вы можете исключить отключенных пользователей и пользователей смарт-карт из числа получателей уведомлений. Также можно настроить отправку менеджерам пользователей и администраторам организации писем с информацией о статусе доставки уведомлений.

  • Удобный пользовательский интерфейс для настройки.

    После настройки уведомления об истечении срока действия пароля в ADSelfService Plus его можно отредактировать, просто выбрав уведомление для редактирования и изменив значения настроек по мере необходимости. При использовании PowerShell при внесении изменений в сценарий уведомления неизбежны опечатки и другие человеческие ошибки.

  • Настраиваемые и эффективные уведомления по электронной почте:

    Создавайте письма с уведомлениями в формате HTML, чтобы привлечь внимание пользователей, или отправляйте разные сообщения в разные дни до истечения срока действия учетной записи. PowerShell позволяет отправлять электронные письма в формате HTML, но этот процесс может быть довольно длительным.

Уведомляйте пользователей Active Directory об истечении срока действия паролей.