Не забудьте сменить пароль.

*Благодарность за написание ДимДимычу*

Уведомление про сроки по смене пароля.

Сам скрипт и текст фильтра WMI для GPO присутствует в конце поста.

Предыстория:
В операционных системах Windows при подходе к границе сроков действия паролей, вылетают уведомления,сообщающие о сроке истечения пароля. Тип уведомлений отличается от версии к версии. Так например в windows 2003 и старше, включая Windows 7, уведомления появляются в виде окна на экране с кнопками «Сменить» и «Отмена». А начиная с Windows 8, Windows server 2012 и выше уведомления всплывают рядом с панелью задач (рядом с часиками). С этой особенностью пользователи Win8/2012 не знают когда заканчивается срок действия пароля. И узнают по факту требования смены(т.е. . лишаются удаленного доступа и других авторизаций, пока не сменят пароль). Исходя из особенностей Windows 8, был написан небольшой скрипт, который вызывает окно с описанием срока устаревания пароля и даты, до которой пароль действует.

pass01

Углубимся в сам скрипт: (обратить внимание на красный шрифт)

pass02

*1 – Строка описывает срок через который скрипт начинает показывать уведомления с момента последней смены пароля;
*2 – Строка описывает срок жизни пароля (тут указываем срок из политики безопасности о сроках действия пароля);
*3 – Строка из которой берется название окошка и первая строка текста в самом окне.

Для того, чтобы получить красивое окно с уведомлением о сроках жизни пароля, Вам необходимо подправить скрипт под свои политики, т.е. в *1 поставить количество дней через которое пользователи будут получать уведомления, *2 вписать срок действия паролей, *3 вписать, текст, который будет отображаться в шапке и тексте окна.

Интеграция:
Чтобы всё автоматизировать, нам потребуется создать WMI фильтр, который будет отфильтровать операционные системы(брать будем только Windows 8, Windows Server 2012r2), создать GPO с выполнением скрипта при входе пользователя в систему с подключенным фильтром WMI.

1. На контроллере домена, открываем управление групповыми политиками (Win+R -> gpmc.msc);

pass03

2. Разворачиваем наш домен и правой кнопкой выбираем WMI Filters (Фильтры WMI). В открывшемся окне выбираем New(Создать);
3. В появившемся окне вводим название фильтра, примечание и нажимаем на кнопку Add(добавить);

pass04

4. Вписываем текст запроса и нажимаем Ok –> Save;

pass05

5. В корне(т.к. будем применять политику на все компьютеры, в том числе и серверы) домена создаем новый GPO, называем его так, чтобы было понятно, что в нём содержиться. Выбираем его правой кнопкой и заходим в Edit(Редактировать);
6. Идем по пути: User Configuration -> Policies -> Windows Settings -> Scripts и выбираем Logon;
7. Добавляем наш подготовленный скрипт в Logon, нажимаем Ок и закрываем редактор созданного GPO;
8. В списке выбираем двойным кликом нашу новую созданный GPO и в правой части внизу на вкладке Scope, WMI Filtering -> Наш созданный фильтр (WindowsServer2012), нажимаем на него левой кнопкой, на всплывающее окно нажимаем Ok;

pass06

9.Далее можно закрывать Менеджер GPO. Политика настроена и сохранена.

Таким образом мы применили политику на все компьютеры под управлением Windows 8.1, Windows server 2012r2 в нашем домене. Пользователи теперь могут разводить руками и говорить, что у них не было уведомления о сроке действия пароля, но им никто не поверит.

VBS скрипт (т.е. данный скрипт должен быть на в .bat .cmd, а именно .vbs)
Листинг скрипта:

Const PWDAge = 50
Const PWDExpiries = 70
Const MsgTitle = «ОИТ Роспечать»
Const MsgPart1 = «Ваш пароль устаревает через «
Const MsgPart2 = » дней.»
Const MsgPart3 = «Пожалуйста, смените его до «
Const MsgPart4 = «.»
Dim oEnv : Set oEnv = CreateObject( «WScript.Shell» ).Environment( «PROCESS» )
Dim oADS : Set oADS = CreateObject( «ADSystemInfo» )
Dim objUser, strPWDate, intPWAge
strPWDate = GetObject( «LDAP://» & oEnv( «USERDNSDOMAIN» ) & «/» & oADS.UserName ).PasswordLastChanged
intPWAge = DateDiff( «d», strPWDate, Now )
If intPWAge > PWDAge And intPWAge <= PWDExpiries Then
MsgBox MsgTitle & vbCrLf & MsgPart1 & PWDExpiries — intPWAge & MsgPart2 & vbCrLf & MsgPart3 & strPWDate + PWDExpiries & MsgPart4, VbOkOnly, MsgTitle
End If

Содержимое WMI фильтра:

select * from Win32_OperatingSystem where Version like «6.3%» and (ProductType = «1» or ProductType = «3»)

О WMI фильтрах:
WMI запросы, это простейшие запросы с возможностью использования логических операторов.

Обозначения ОС:
Windows Server 2012 R2 и Windows 8.1 — 6.3%
Windows Server 2012 и Windows 8 — 6.2%
Windows Server 2008 R2 и Windows 7 — 6.1%
Windows Server 2008 и Windows Vista — 6.0%
Windows Server 2003 — 5.2%
Windows XP — 5.1%
Windows 2000 — 5.0%
Типы ОС:
ProductType = «1» — Клиентские системы
ProductType = «2» — Контроллер домены
ProductType = «3» — Рядовые серверы

Для более подробной информации обратитесь к поисковым системам. Или посту http://aqhot.ru/?p=48
В дальнейшем вы можете самостоятельно написать wmi фильтр для определенных ОС или параметров машин.

Добавить комментарий