C# 密码上次设置时间不正确-Active Directory

C# 密码上次设置时间不正确-Active Directory,c#,asp.net,active-directory,C#,Asp.net,Active Directory,我有一个方法,允许我通过将用户的用户名作为变量传入来设置用户的active directory密码。设置密码后,我检查是否超过5分钟后才允许再次重置密码。我有一个断点集,当我查看上次设置的密码时间(在运行Modify User方法1次之后),该时间设置为未来4小时。有什么想法吗 谢谢 杰森 这很可能是因为您所在的时区。查看上次设置的密码时,请改为获取本地时间 if(DateTime.Now.Subtract(PasswordLastSet).TotalMinutes > 5) publ

我有一个方法,允许我通过将用户的用户名作为变量传入来设置用户的active directory密码。设置密码后,我检查是否超过5分钟后才允许再次重置密码。我有一个断点集,当我查看上次设置的密码时间(在运行Modify User方法1次之后),该时间设置为未来4小时。有什么想法吗

谢谢

杰森


这很可能是因为您所在的时区。

查看上次设置的密码时,请改为获取本地时间

if(DateTime.Now.Subtract(PasswordLastSet).TotalMinutes > 5)


public void ModifyUser(string username)
    {
        string sPwd = SetSecurePassword();

        DirectoryEntry entry = GetDirectoryEntry();
        DirectorySearcher search = new DirectorySearcher(entry);
        search.Filter = "(SAMAccountName=" + username + ")";

        SearchResult sResult = search.FindOne();
        if (sResult != null)
        {
            try
            {
                DirectoryEntry updateEntry = sResult.GetDirectoryEntry();
                updateEntry.Invoke("SetPassword", new object[] { sPwd });
                updateEntry.CommitChanges();
                updateEntry.Close();
                passWord = sPwd.ToString();

            }


            catch (Exception ex)
            {
                lblErrorMessage.Text = ex.ToString();
            }
        }