请参阅上面的页面。它回答了我的大部分问题,但是当我尝试获取计算机的最后登录时间时遇到了问题。抱歉,如果有某种方法可以在该页面上发表评论,而不是提出一个全新的问题,因为我没有找到这样的选项。
using (var context = new PrincipalContext(ContextType.Domain, "cat.pcsb.org"))
{
using (var searcher = new PrincipalSearcher(new ComputerPrincipal(context)))
{
foreach (var result in searcher.FindAll())
{
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
Console.WriteLine("Name: " + de.Properties["name"].Value);
Console.WriteLine("Last Logon Time: " + de.Properties["lastLogon"].Value);
Console.WriteLine();
}
}
}
Console.ReadLine();
我用 ComputerPrincipal 替换了 UserPrincipal。名称和其他一些属性可以正常工作,但登录不能。我试过做不同的事情,比如将它转换为 DateTime(转换失败),但没有任何效果。以上只是 System.__ComObject 的结果。那么我该怎么做才能正确获取上次登录时间呢?