0
我想将lastlogontimestamp转换为datetime,但我注意到对于大的值,我得到错误异常消息:索引超出范围。必须是非负数且小于集合的大小。将lastlogontimestamp转换为DateTime
有没有更好的方法来做到以下几点?
var de = new DirectoryEntry("LDAP://GLOBAL.ABC.COM");
var ds = new DirectorySearcher(de);
ds.Filter = string.Format("(&(objectCategory=user)(objectClass=user)({0}={1}))",
"samAccountName", username);
ds.PropertiesToLoad.AddRange(new string[] { "samAccountName", "lastLogon" });
SearchResult sr = ds.FindOne();
long lastLogon = (long)sr.Properties["lastLogon"][0];
// lastLogon is 131111471723190497
var dtLastLogon = DateTime.FromFileTime(lastLogon);
return dtLastLogon.ToString();
哪一个投掷“索引超出范围”?请提供一个“大数值”的例子 – Julian
这是我得到lastLogon变量的路线。值是131111471723190497 – Blade1
是'long lastLogon =(long)sr.Properties [“lastLogon”] [0];''或'ds.PropertiesToLoad.AddRange(new string [] {“samAccountName”,“lastLogon”}); '? – Julian