Active Directory 手动重置密码有效性

Active Directory 手动重置密码有效性

我被要求在我们的(小型)Active Directory 域中实施以下一次性密码方案:每当管理员必须手动重置用户密码时,该密码应是临时的,即用户必须在登录时更改密码,并且其有效期应仅为 24 小时。如果用户在 24 小时内未登录并更改密码,则应自动停用该帐户。

我研究了各种方法来做到这一点,包括使用计划的 Powershell 脚本,但似乎找不到任何可以实现这种情况的方法。

这在 AD 中可能实现吗?如果可以,我该如何实现它?

答案1

您需要检查 pwdLastSet == 0 的账户的复制属性元数据,以了解 pwdLastSet 上的修改日期时间。

pwdLastSet 复制属性元数据的 LastOriginatingChangeTime 可用于计算将其设置为“用户必须在下次登录时更改密码”的时间。

Get-ADReplicationAttributeMetadata -Object "CN=JSmith,OU=Users,OU=HQ,DC=contoso,DC=com" -Server CONTOSOMDDC1

AttributeName                                    : pwdLastSet
AttributeValue                                   : 0
FirstOriginatingCreateTime                       :
IsLinkValue                                      : False
LastOriginatingChangeDirectoryServerIdentity     : CN=NTDS Settings,CN=CONTOSOMDDC1,CN=Servers,CN=CONTOSO-MDSite,CN=Sit
                                                   es,CN=Configuration,DC=contoso,DC=com
LastOriginatingChangeDirectoryServerInvocationId : 4b6342cb-0853-493b-8485-991d9768fba3
LastOriginatingChangeTime                        : 2017-01-06 9:47:30 AM
LastOriginatingChangeUsn                         : 3256879
LastOriginatingDeleteTime                        :
LocalChangeUsn                                   : 3256879
Object                                           : CN=JSmith,OU=Users,OU=HQ,DC=contoso,DC=com
Server                                           : CONTOSOMDDC1.contoso.com
Version                                          : 5

获取 ADReplicationAttributeMetadata
https://technet.microsoft.com/en-us/library/hh852209(v=wps.630).aspx

如果使用较低级别的操作系统,则可以使用 repadmin:

repadmin /showobjmeta CONTOSOMDDC1 "CN=JSmith,OU=Users,OU=HQ,DC=contoso,DC=com" | findstr /i pwdLastSet  

3256879               CONTOSO-MDSite\CONTOSOMDDC1   3256879 2017-01-06 09:47:30    5 pwdLastSet

相关内容