Один из наших пользователей в настоящее время находится за границей, и срок действия ее пароля домена Active Directory истек. Она входит в систему с портативного компьютера, используя кэшированные учетные данные и (не интегрированную в AD) VPN, но не может войти в общие файловые ресурсы или Outlook с просроченным паролем. Если я изменю пароль, я опасаюсь, что это создаст для нее проблемы с кэшированием входа в систему с ноутбуком, которые я не смогу исправить, пока она находится в восьми часовых поясах. Флаг, который говорит, что она должна изменить свой пароль, уже установлен. Если я установлю для нее пароль, срок действия которого никогда не истечет, помешает ли это ей изменить пароль или она должна будет изменить его, что бы я ни делал?
Аналогичный вопрос Вот указывает, что установка учетной записи на Never Expire будет работать, но мне нужно подтверждение.
Редактировать: Параметр «Никогда не истекает срок действия пароля» будет действовать только до ее возвращения в офис. Я просто пытаюсь позволить ей вернуться в систему, пока ее нет, не усугубляя проблему.
Окончательное редактирование: Установка флага «Never expire» устранила проблему. Пользователь сохранит свой существующий пароль до возвращения на следующей неделе.
Да, я делал это много раз. Если срок действия пароля уже истек, установка флажка «Пароль никогда не истекает» приведет к аннулированию срока действия пароля до тех пор, пока пользователь не окажется на сайте с контроллером домена.
Чтобы сохранить старый просроченный пароль, просто сбросьте его с помощью консоли управления и установите, как вы сказали, никогда не истекать. Я не буду вдаваться во все причины, по которым большинство из нас не сделало бы этого, поскольку предполагаю, что у вас есть свои собственные причины делать то, что вы делаете.
Пока нет прямого ответа на ваш вопрос. Вот как вы заботитесь о том, чтобы кэшированные учетные данные не синхронизировались, когда пользователь использует vpn.
Сбросьте для нее пароль, но не меняйте принудительно при следующем входе в систему. Попросите ее войти в ноутбук с текущими кэшированными учетными данными, а затем подключиться к вашей сети через VPN. как только она войдет в систему, попросите ее заблокировать компьютер, а затем разблокировать компьютер с НОВЫМИ учетными данными. Это обновит локальный кеш и позволит ей войти в систему с новым паролем, и позволит вам НЕ устанавливать флаг никогда не истекает срок действия пароля. Она могла продолжать использовать этот пароль до тех пор, пока он не истечет, как обычно.
По моему опыту, если вам потребуется сменить пароль, вы должны его изменить. После изменения, я думаю, вы могли бы * вернуть его обратно практически без проблем. Но вы, вероятно, захотите проверить это, прежде чем пробовать это с ней.
И да, как только она снова станет хорошей, вы можете подумать об установке флажка «Никогда не истекает».
Следующий код можно использовать, чтобы узнать, почему срок действия пароля истек.
Первоначально он был скопирован и вставлен из Блог Active Directory Powershell в блогах MSDN.
function Get-XADUserPasswordExpirationDate() {
Param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, HelpMessage="Identity of the Account")]
[Object] $accountIdentity)
PROCESS {
$accountObj = Get-ADUser $accountIdentity -properties PasswordExpired, PasswordNeverExpires, PasswordLastSet
if ($accountObj.PasswordExpired) {
echo ("Password of account: " + $accountObj.Name + " already expired!")
} else {
if ($accountObj.PasswordNeverExpires) {
echo ("Password of account: " + $accountObj.Name + " is set to never expires!")
} else {
$passwordSetDate = $accountObj.PasswordLastSet
if ($passwordSetDate -eq $null) {
echo ("Password of account: " + $accountObj.Name + " has never been set!")
} else {
$maxPasswordAgeTimeSpan = $null
$dfl = (get-addomain).DomainMode
if ($dfl -ge 3) {
## Greater than Windows2008 domain functional level
$accountFGPP = Get-ADUserResultantPasswordPolicy $accountObj
if ($accountFGPP -ne $null) {
$maxPasswordAgeTimeSpan = $accountFGPP.MaxPasswordAge
} else {
$maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
}
} else {
$maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
}
if ($maxPasswordAgeTimeSpan -eq $null -or $maxPasswordAgeTimeSpan.TotalMilliseconds -eq 0) {
echo ("MaxPasswordAge is not set for the domain or is set to zero!")
} else {
echo ("Password of account: " + $accountObj.Name + " expires on: " + ($passwordSetDate + $maxPasswordAgeTimeSpan))
}
}
}
}
}
}