【问题标题】:How does Active Directory mark a password expired?Active Directory 如何将密码标记为过期?
【发布时间】:2016-03-16 20:23:57
【问题描述】:

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

pwdLastSet = 0吗?

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

我可以手动将特定用户帐户的密码标记为过期吗?

【问题讨论】:

    标签: active-directory passwords


    【解决方案1】:

    没错。它设置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 中的样子。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      相关资源
      最近更新 更多