首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pwdLastSet显示在一个服务器A上,但不在服务器B上,即使它在那里

pwdLastSet显示在一个服务器A上,但不在服务器B上,即使它在那里
EN

Stack Overflow用户
提问于 2013-03-15 01:59:13
回答 1查看 521关注 0票数 1

在服务器B上,我下面的代码中没有返回pwdLastSet。在服务器B上,用户是由“群组”创建的,我猜是通过LDAP。当我在AD Manger中检查用户时,我可以看到该字段,但当我试图通过代码获取服务器B上的pwdLastSet时,它不起作用。但是,这一切都在服务器A上运行,我在服务器A上通过AD创建用户。

我还通过UserPrincipal对象尝试了"LastPasswordSet“。

代码语言:javascript
复制
private static DateTime DateTest(string userName)
   {
       userName = userName.Trim();
       DateTime hacked;
       using (DirectorySearcher ds = new DirectorySearcher())
       {
           ds.SearchScope = SearchScope.Subtree;
           ds.PropertiesToLoad.Add("distinguishedName");
           ds.PropertiesToLoad.Add("pwdLastSet");
           ds.PageSize = 1;
           ds.ServerPageTimeLimit = TimeSpan.FromSeconds(2);
           ds.Filter = string.Format("(&(objectCategory=user)(sAMAccountName={0}))", userName);

           SearchResult sr = ds.FindOne();
           //hacked = DateTime.FromFileTime((long)sr.Properties["pwdLastSet"][0]);

            IDictionaryEnumerator e = sr.Properties.GetEnumerator();
           while (e.MoveNext())
           {
               //if (typeof(ResultPropertyCollection) == e.Key.GetType())
               //{
               //    foreach (var item in (ResultPropertyCollection)e.Key)
               //    {
               //        Console.WriteLine(e);
               //    }

               //}
               Console.Write(e.Key);
               Console.Write(" : ");

               foreach (var item in (ResultPropertyValueCollection)e.Value)
               {
                   Console.WriteLine(item);
               }
           }
       }

       return DateTime.Now;
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-15 21:46:37

尽管我的登录名具有企业/域管理员组成员身份,但当我执行它时,它仍然不起作用。

然而,当我右键单击控制台应用程序并以管理员身份运行它时,它就像一个护身符一样工作。加尔!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15416777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档