public static string GetProperty(SearchResult searchResult, string PropertyName)
{
if (searchResult.Properties.Contains(PropertyName))
{
return searchResult.Properties[PropertyName][0].ToString();
}
else
{
return string.Empty;
}
}
Powyższa metoda działa świetnie na właściwości najbardziej Active Directory z wyjątkiem tych, które są związane z data/czas, takich jak pwdLastSet, maxPwdAge itpJak przekonwertować usługi Active Directory, aby pwdLastSet Date/Time
moje pytanie brzmi: jak uzyskać pwdLastSet do czytelnej datetime (jak 8/13/2013 lub 13 sierpnia 2013 roku, etc)
mam próbuje to jednak odrzucił wyjątki
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;
}
Jestem u śpiewać następujący kod aby uzyskać czas jako Int64
Int64 passwordLastSet = ConvertADSLargeIntegerToInt64(objResult.Properties["pwdLastSet"][0]);
Potem planowane jest używanie DateTime (Int64) Konstruktor, aby utworzyć DateTime