Active Directory密码已过期。 如果我将其设置为永不过期,用户可以保持相同的密码吗?

我们的一位用户目前在海外,她的Active Directory域密码已过期。 她使用caching凭证和(非AD集成)VPN使用笔记本电脑login,但无法使用过期密码login到文件共享或Outlook。 如果我更改密码,我担心它会为笔记本电脑创buildcaching的login问题,而在她离开八个时区时我无法修复。 表示必须更改密码的标志已经设置。 如果我设置她的密码永不过期,是否会阻止她不得不更改密码,或者无论我做什么,她都必须改变密码?

这里有一个类似的问题表明,将帐户设置为永不过期将会起作用,但是我希望得到一些确认。

编辑:密码永不过期设置只会在她回到办公室之前。 我只是想在她离开的时候让她回到系统,而不会让问题变得更糟。

最终编辑:设置“永不过期”标志解决了问题。 用户将保留她现有的密码,直到她下周返回。

是的,我已经做了很多次了。 如果密码已经过期,那么选中“密码永不过期”checkbox将会使密码失效,直到用户位于具有DC的站点上。

要保留旧的过期密码,只需使用pipe理控制台将其重置即可,并将其设置为永不过期。 我不会去解释我们大多数人不会这么做的原因,因为我认为你有自己的理由去做你所做的事情。

虽然不是你的问题的直接答案。 当用户使用vpn时,这是如何处理caching的凭据不同步的。

继续为她重置密码 – 但不要在下次login时强制更改密码。 让她用当前的caching凭据login笔记本电脑,然后将VPNlogin到您的networking中。 一旦她被locking了电脑,然后用NEW凭证解锁电脑。 这将更新本地caching,并允许她使用新密码login到本机,并让您不设置密码永不过期标志。 她可以继续使用该密码,直到正常结束。

我的远见是,一旦它要求你改变你的密码,你必须改变它。 一旦改变,我认为你可以*改变回来,几乎没有问题。 但是你可能想先试一试,然后再试一试。

是的,一旦她再次好起来,你可能会考虑设置永不过期的标志。

以下代码可用于查找密码过期的原因。

它最初是从MSDN博客上的Active Directory Powershell Blog中复制和粘贴的 。

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)) } } } } } }