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
            Asked
            
        
        
            Active
            
        
            Viewed 4,839 times
        
    5
            
            
        
        Brett Veenstra
        
- 47,674
 - 18
 - 70
 - 86
 
        Raja
        
- 103
 - 1
 - 11
 
2 Answers
4
            
            
        There are two ways to retrieve the uSNChanged property via .NET:
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; }Translate the values only using C#. Thanks to Simon Gilbee, we have this option:
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; }
I highly recommend you go with Option #2 to avoid problems with the legacy ActiveDs library and won't need answers off this list.
        Ambrose Leung
        
- 3,704
 - 2
 - 25
 - 36
 
        Brett Veenstra
        
- 47,674
 - 18
 - 70
 - 86
 
1
            
            
        i got the solution guys,we can get a maximum usnchanged value of a domaincontroller through this attribute HighestCommittedUsn
        Rajakumar
        
- 442
 - 1
 - 9
 - 21