Уведомления Об Истечении Срока Действия Пароля В Active Directory С Помощью Powershell



Фон Вся история началась с того, что пришло время очередного ИТ-аудита.

Пришли серьёзные ребята из Price Waterhouse Coopers и дали нам кучу инструкций и пару скриптов, которые нам нужно было запустить на контроллере домена и потом отправить им логи.

После прочтения текстов скриптов (а мало ли, безопасность прежде всего) им были предоставлены логи.

И тут началось.

Требования PWC в большинстве случаев связаны с политиками безопасности.

Одним из них было ввести политику сложности пароля и срок его действия.

Естественно, сделать это было довольно легко, но вскоре мы столкнулись со следующей проблемой: Windows не уведомляет пользователя о том, что срок действия его пароля истек, если подключение осуществляется через VPN из внешней сети.

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

Нужно было, чтобы ноут был в родной офисной сети.

С учетом того, что некоторые пользователи «живут» в вечных командировках, проблема оказалась весьма серьезной.

Отслеживать их вручную — головная боль, и это не админски.

Вот тут и возникла идея организовать рассылку автоматических уведомлений.

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

Мне пришлось его доработать.

Так как это был мой первый опыт написания скрипта под PowerShell, времени было потрачено очень много (почти полный рабочий день).



Скрипт

И вот что я получил:
   

Import-Module ActiveDirectory #System globalization #$ci = New-Object System.Globalization.CultureInfo("ru-RU") #SMTP server name $smtpServer = "mail.domain.local" #Creating a Mail object $msg = new-object Net.Mail.MailMessage #Creating a Mail object for report $msgr = new-object Net.Mail.MailMessage #Creating SMTP server object $smtp = new-object Net.Mail.SmtpClient($smtpServer) #E-mail structure Function EmailStructure($to,$expiryDate,$upn) {

Теги: #exchange #PowerShell #active каталог #Active Directory #ps1
Вместе с данным постом часто просматривают: