Active Directory如何标记密码已过期?

时间:2016-03-16 20:23:58

标签: active-directory passwords

我们的域名密码最长为90天。如果我在90天内没有更改密码,Active Directory在我的用户帐户上设置了哪些属性来表示我的密码已过期?

pwdLastSet = 0吗?

是否通过userAccountControl将我的帐户标记为已停用?或者它只是要求我在下次登录时更改我的密码?

我是否可以为特定用户帐户手动将密码标记为已过期?

1 个答案:

答案 0 :(得分:0)

那是对的。它设置pwdLastSet=0。您可以使用AuthenticablePrincipal.ExpirePasswordNow()方法将密码标记为已过期。

以下是如何使单个帐户的密码失效:

public static void ExpirePwdNow(string username)
{
   using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com")
   {
      using (UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.UserPrincipalName, username))
      {
         if (user != null)
         {
            user.ExpirePasswordNow();
            user.Save();
         }
      }
   }
}

以及它在AD中的表现。

enter image description here

注意*您可以使用PowerShell或VB脚本执行相同的操作。我不相信有通过GUI使密码到期的方法,但我无法确定。