How to read quot;uSNChangedquot; property using C#(如何阅读“uSNChanged使用 C# 的属性)
问题描述
我想使用 C# 通过 ActiveDirectory 中的 uSNChanged 值获取最后修改或创建的属性......我还试图找到 uSNChanged 的最大值,你能帮我找出解决办法吗?谢谢
I want to get the last modified or created attributes via the uSNChanged value in ActiveDirectory using C# ... I was also trying to find the max value of uSNChanged, can you help me to find out the solution? Thanks
推荐答案
有两种方法可以通过 .NET 检索 uSNChanged 属性:
There are two ways to retrieve the uSNChanged property via .NET:
包含对 COM 库的引用:Active DS 类型库",然后您需要使用
IADsLargeInterger检索该值,最后将其转换为long代码>.例如:
Include a reference to a COM library: "Active DS Type Library", then you need to use the
IADsLargeIntergerto retrieve the value and finally convert it to along. For example:
IADsLargeInteger li_ad = (IADsLargeInteger)oUser.Properties["USNChanged"].Value;
long l_uChanged = GetLongFromLargeInteger( li_ad );
static long GetLongFromLargeInteger( IADsLargeInteger Li )
{
long retval = Li.HighPart;
retval <<=32;
retval |=(uint)Li.LowPart;
return retval;
}
仅使用 C# 翻译值.感谢 Simon Gilbee,我们有这个选项:
long usnChanged = ConvertADSLargeIntegerToInt64(oUser.Properties["USNChanged"].Value);
public static Int64 ConvertADSLargeIntegerToInt64(object adsLargeInteger)
{
var highPart = (Int32)adsLargeInteger.GetType().InvokeMember("HighPart", System.Reflection.BindingFlags.GetProperty, null, adsLargeInteger, null);
var lowPart = (Int32)adsLargeInteger.GetType().InvokeMember("LowPart", System.Reflection.BindingFlags.GetProperty, null, adsLargeInteger, null);
return highPart * ((Int64)UInt32.MaxValue + 1) + lowPart;
}
我强烈建议您使用选项 #2 以避免旧 ActiveDs 库出现问题,并且不需要 此列表.
I highly recommend you go with Option #2 to avoid problems with the legacy ActiveDs library and won't need answers off this list.
这篇关于如何阅读“uSNChanged"使用 C# 的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何阅读“uSNChanged"使用 C# 的属性
基础教程推荐
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
