Насколько я понимаю, пользователи Windows 7 не получают уведомление об истечении срока действия пароля во время процесса входа в систему - это происходит строго из панели задач.
В настоящее время у нас отключены всплывающие уведомления в трее, чтобы не отвлекать пользователя, и я ожидаю, что процесс смены пароля будет более плавным во время процесса входа в систему, а не в существующем сеансе. В результате пользователям будет предложено изменить свои пароли по истечении срока действия.
Пользователи также подключаются к ящикам служб терминалов, но получают там расширенное уведомление об истечении срока действия пароля. Итак, Windows 7 не уведомляет, но коробки TS / RDS и XP. Есть какие-нибудь указания по настройке? Лично я бы отключил все уведомления об истечении срока действия, но я понимаю, что большинство пользователей предпочли бы их видеть. Мысли? Любой объект групповой политики или другие параметры, которые я мог упустить? Приведенная ниже настройка интерактивного входа в систему уже включена для GPO нашей рабочей станции Win7. Я думал, что всплывающие уведомления снова будут включены в Windows 7, но я хотел узнать, знает ли кто-нибудь об альтернативах. Спасибо.
Конфигурация компьютера \ Параметры Windows \ Параметры безопасности \ Локальные политики - Параметры безопасности
Интерактивный вход в систему: предлагать пользователю сменить пароль до истечения срока действия
Это похоже на одну из тех ситуаций, когда вы делаете совершенно разумный выбор конфигурации (отключите всплывающие уведомления, чтобы улучшить взаимодействие с пользователем). Затем возникает что-то, что противоречит этому решению. В этот момент вы можете придумать компромисс (и обычно в итоге получается большой беспорядок или что-то абсурдно сложное по отношению к фактическому размеру проблемы). В качестве альтернативы верните свои изменения. В большинстве случаев я считаю, что лучше взять опыт обучения и отказаться от ранее принятого решения.
tl; dr Повторно включить всплывающие уведомления.
Это старый пост, но я, наконец, обновил скрипт, чтобы обнаруживать пароли с истекшим сроком действия и не отвечать на них.
'==========================================
' Check for password expiring notification
'==========================================
' First, get the domain policy.
'==========================================
Dim oDomain
Dim oUser
Dim maxPwdAge
Dim numDays
Dim warningDays
warningDays = 6
Set LoginInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")
strDomainDN = UCase(LoginInfo.DomainDNSName)
strUserDN = LoginInfo.UserName
'========================================
' Check if password is non-expiring.
'========================================
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
intUserAccountControl = objUser.Get("userAccountControl")
If intUserAccountControl And ADS_UF_DONT_EXPIRE_PASSWD Then
'WScript.Echo "The password does not expire."
Else
Set oDomain = GetObject("LDAP://" & strDomainDN)
Set maxPwdAge = oDomain.Get("maxPwdAge")
'========================================
' Calculate the number of days that are
' held in this value.
'========================================
numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _
maxPwdAge.LowPart) / CCur(-864000000000)
'WScript.Echo "Maximum Password Age: " & numDays
'========================================
' Determine the last time that the user
' changed his or her password.
'========================================
Set oUser = GetObject("LDAP://" & strUserDN)
'========================================
' Add the number of days to the last time
' the password was set.
'========================================
whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged)
fromDate = Date
daysLeft = DateDiff("d",fromDate,whenPasswordExpires)
'WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged
if (daysLeft < warningDays) and (daysLeft > -1) then
Msgbox "Password Expires in " & daysLeft & " day(s)" & " at " & whenPasswordExpires & chr(13) & chr(13) & "Once logged in, press CTRL-ALT-DEL and" & chr(13) & "select the 'Change a password' option", 0, "PASSWORD EXPIRATION WARNING!"
End if
End if
'========================================
' Clean up.
'========================================
Set oUser = Nothing
Set maxPwdAge = Nothing
Set oDomain = Nothing
Это был оригинальный ответ и сценарий
Сценарий VBS, который входит в ваш объект групповой политики, который отображает всплывающее окно, сообщающее пользователю, что его пароль истекает через # дней, и что пользователь ДОЛЖЕН щелкнуть OK, чтобы закрыть его.
Он идет в GPO - User Config - Policies - Admin Templates - System - Logon - Run эти программы при входе пользователя в систему. Вам также необходимо будет добавить расположение папки в IE Trusted Sites, чтобы избежать появления всплывающего окна с вопросом, следует ли запускать скрипт.
PwExpChk.vbs
'========================================
' First, get the domain policy.
'========================================
Dim oDomain
Dim oUser
Dim maxPwdAge
Dim numDays
Dim warningDays
warningDays = 6
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")
'========================================
' Calculate the number of days that are
' held in this value.
'========================================
numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _
maxPwdAge.LowPart) / CCur(-864000000000)
'WScript.Echo "Maximum Password Age: " & numDays
'========================================
' Determine the last time that the user
' changed his or her password.
'========================================
Set oUser = GetObject("LDAP://" & strUserDN)
'========================================
' Add the number of days to the last time
' the password was set.
'========================================
whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged)
fromDate = Date
daysLeft = DateDiff("d",fromDate,whenPasswordExpires)
'WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged
if (daysLeft < warningDays) and (daysLeft > -1) then
Msgbox "Password Expires in " & daysLeft & " day(s)" & " at " & whenPasswordExpires & chr(13) & chr(13) & "Once logged in, press CTRL-ALT-DEL and" & chr(13) & "select the 'Change a password' option", 0, "PASSWORD EXPIRATION WARNING!"
End if
'========================================
' Clean up.
'========================================
Set oUser = Nothing
Set maxPwdAge = Nothing
Set oDomain = Nothing