2009-01-13 61 views
4

我会第一个承认这是剪辑和过去的编程。我以前从来没有看过AD,真的不明白。我想这是我的下一个研究...为什么我从LDAP属性中获取'System .__ ComObject'?

总之,这是一些测试代码,它应该显示过期日期 - 要么是可读的,要么是蜱 - 没关系。 (这是一个网页形式,它在开发Web服务器上运行。)

我得到的却是:“系统.__ ComObject”

DirectorySearcher searcher = new DirectorySearcher(); 
searcher.Filter = String.Format("(SAMAccountName={0})", "TestA33"); 
searcher.PropertiesToLoad.Add("cn"); 

SearchResult result = searcher.FindOne(); 
DirectoryEntry uEntry = result.GetDirectoryEntry(); 

String expiry = uEntry.Properties["accountExpires"].Value.ToString(); 

Response.Write(expiry); 

回答

6

戴夫Cluderay推荐的这篇文章是一个好主意。需要注意的一件重要事情是,如果到期日期永远不变,那么您得到的日期可能就没有意义了。

根据MS文档,来自ADSI调用的IADsLargeInteger表示自1601年1月1日(UTC)以来的100纳秒间隔的数量,“0或0x7FFFFFFFFFFFFFFF(9223372036854775807)的值表示该帐户永不过期”。

0

这个你可以得到真正的价值

Microsoft.VisualBasic.Information.TypeName(item); 
相关问题