Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2008/2008 R2 (http://forum.oszone.net/forumdisplay.php?f=97)
-   -   Предупреждение о смене пароля (http://forum.oszone.net/showthread.php?t=284102)

Odisseus 24-06-2014 14:17 2367872

Предупреждение о смене пароля
 
Есть домен на W2K8 R2. Пoлитика паролей предусматривает смену чераз каждие три месяца. Но естественно, об этом никто не помнит и когда пароли подходят к концу машины лочатся, доступ к сети закрывается, в общем, для юзеров наступает армагеддец. Так вот, вопрос. Можно ли создать навязчивое предупреждение о смене пароля? В виде окна, которое появляется за несколько дней до смены пароля и потом периодически открывается, если юзер его просто закрыл и не изменил пароль?

cameron 24-06-2014 15:57 2367924

Цитата:

Цитата Odisseus
В виде окна, которое появляется за несколько дней до смены пароля и потом периодически открывается, если юзер его просто закрыл и не изменил пароль? »

оно и так штатно появляется.
кол-во дней регламентируется ГП.

Odisseus 29-06-2014 10:53 2369749

Цитата:

Цитата cameron
оно и так штатно появляется »

Согласен, если компы выключаются или перезагружаются, то появляется опция смены пароля, если он уже истек. Но у меня они работают 24/7 в силу особенностей предприятия. Да и сообщение - это baloon tip из трея, которое пропадает через секунду. Так вот, нужно что-то вроде Profile storage space утилиты или скрипта, который будет проверять периодически пароль и громко кричать, когда он будет заканчиватся. Клиентские системы - Win7 x64 SP1

Iska 29-06-2014 12:00 2369778

Цитата:

Цитата Odisseus
Но у меня они работают 24/7 в силу особенностей предприятия. »

Правильно ли я Вас понимаю, что у Вас пользователи фактически вводят пароль только лишь дважды за период в три месяца, при требовании смены пароля: раз в начале периода и раз в конце — перед вводом нового? Если так, то чем Вам поможет уведомление?

Odisseus 29-06-2014 13:20 2369802

Цитата:

Цитата Iska
Правильно ли я Вас понимаю »

Не совсем, но условно можно считать и так. А нужно вот зачем. К примеру, юзер залогинен и не будет выключать или перезагружать машину следующие 7 дней. Его пароль истекает сегодня в 12-00, но он об этом естественно не знает, потому что когда он залогинился, то предупреждения о смене пароля не получил, потому что пароль был все еще активен на момент логина. Сегодня в 12-01 его пароль истек в процессе работы. Доступ к сетевым ресурсам закрылся, все сетевые приложения отказали, Outlook не принимает ничего с Exchange и тд. Юзер в истерике, бьется головой о стены, рвет на себе волосы (да, они у меня нервные...), звонит и орет на айтишника и тд и тп. Мне приходится сбрасывать пароль, но в силу редкой репликации он не будет работать еще с полчаса. Так вот, эта ситуация меня достала уже вкрай. Учитывая, как хорошо работает утилька проверки Profile Storage Space и какие сообщения она выдает, я хочу сделать подобное относительно пароля. То есть, проверять, когда был последний раз изменен пароль и сколько времени осталось до конца 3-месячного периода. Как-то так...

cameron 29-06-2014 13:26 2369807

Цитата:

Цитата Odisseus
Его пароль истекает сегодня в 12-00, но он об этом естественно не знает, потому что когда он залогинился, то предупреждения о смене пароля не получил, потому что пароль был все еще активен на момент логина. Сегодня в 12-01 его пароль истек в процессе работы. »

и каждый день, из тех, которые указаны в ГПО как "уведомлять за кол-во дней до смены пароля" пользователь получает уведомление в трее.
Если пользователь баран - то и ваше уведомление ничем не поможет.
Предполагаю, что бдет проще реализовать скрипт на пош отправляющий почту с напоминанием.

Odisseus 29-06-2014 19:48 2369954

Цитата:

Цитата cameron
уведомление в трее »

Есть такое, но оно само закрывается через секунду после появления

Цитата:

Цитата cameron
Предполагаю, что бдет проще реализовать скрипт на пош отправляющий почту с напоминанием. »

Тоже отличный вариант! Осталось придумать как это сделать...

Odisseus 04-07-2014 20:49 2372159

Какие будут идеи, народ?

clevergod 23-09-2014 12:16 2406102

Odisseus
Гугел все давно придумал

Odisseus 24-09-2014 09:10 2406404

Цитата:

Цитата clevergod
Гугел все давно придумал »

А вот за это отдельное спасибо! Как говорится, одна голова хорошо, а много - лучше.
Но надо прояснить по скрипту кое-что. Итак, весь скрипт тут:
Код:

strComputer = "."
REM ========================================
REM Проверка версии операционной системы.
REM Если Windows 7, то действуем дальше
REM ========================================
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Select Case Left(objOperatingSystem.Caption,19)
Case "Microsoft Windows 7"

REM ========================================
REM Доменные политики и количество дней
REM ========================================
Dim oDomain
Dim oUser
Dim maxPwdAge
Dim numDays
Dim warningDays
warningDays = 15 ' порог срабатывания уведомления

Set LoginInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")

strDomainDN = UCase(LoginInfo.DomainDNSName)
strUserDN = LoginInfo.UserName

Set oDomain = GetObject("LDAP://" & strDomainDN)
Set maxPwdAge = oDomain.Get("maxPwdAge")

REM ========================================
REM Считаем сколько дней осталось
REM ========================================
numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _
maxPwdAge.LowPart) / CCur(-864000000000)
REM WScript.Echo "Maximum Password Age: " & numDays ' это для дэбага

REM ========================================
REM Определяем когда менялся пароль
REM ========================================
Set oUser = GetObject("LDAP://" & strUserDN)
whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged)
fromDate = Date
daysLeft = DateDiff("d",fromDate,whenPasswordExpires)

REM WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged
if (daysLeft < warningDays) and (daysLeft > -1) then
Msgbox "Число дней до истечения срока действия пароля: " & daysLeft & "." & chr(13) & "Пароль действительный до " & whenPasswordExpires & chr(13) & chr(13) & "Чтобы изменить пароль, нажмите клавиши " & chr(13) & "CTRL+ALT+DEL и выберите 'Сменить пароль...'", 0, "Рекомендуется изменить ваш пароль"
End if

REM ========================================
REM Конец проверки версии ОС
REM ========================================
End Select
Next
REM ========================================
REM Зачистка
REM ========================================
Set oUser = Nothing
Set maxPwdAge = Nothing
Set oDomain = Nothing

Для того, чтобы он работал в моем домене, надо изменить
Код:

Set LoginInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")

strDomainDN = UCase(LoginInfo.DomainDNSName)
strUserDN = LoginInfo.UserName

Set oDomain = GetObject("LDAP://" & strDomainDN)
Set maxPwdAge = oDomain.Get("maxPwdAge")

Или он просто будет опираться на существующий домен и прописывать его не надо?

Цитата:

Цитата cameron
Предполагаю, что бдет проще реализовать скрипт на пош отправляющий почту с напоминанием. »

Такой вариант уже есть и работает, спасибо за наводку! Хочется иметь дублирующее напоминание.


Время: 21:43.

Время: 21:43.
© OSzone.net 2001-