为什么我从 LDAP 属性中获取“System.__ComObject”?

2024-02-19

我将是第一个承认这是被删减和过去的节目的人。我以前没看过AD,实在是看不懂。我想这就是我的下一个研究...

不管怎样,这是一些测试代码,它应该显示到期日期——要么以可读的形式,要么以刻度显示——这并不重要。 (这是一个 Web 表单,在开发 Web 服务器上运行。)

我得到的是:“System.__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 );

Dave Cluderay 推荐的文章是个好主意。需要注意的一件重要事情是,如果过期设置为“永不”,则您获得的日期可能没有意义。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我从 LDAP 属性中获取“System.__ComObject”? 的相关文章

随机推荐