我想在Active Directory中检索用户的创建日期。我知道用户具有WhenCreated属性,但是我看不到该属性在我正在使用的UserPrincipal类型上公开。
我想做这样的事情:
var principal = UserPrincipal.FindByIdentity(context, IdentityType.Guid, guid);
//var createdDate = principal.CreationDate;
编辑:这是一个在IIS中运行的Web应用程序,用于查询同一网络上另一台计算机上的AD服务器。
最佳答案
您需要获取基础DirectoryEntry(System.DirectoryServices
-命名空间的一部分)。
您可以使用此扩展方法以字符串形式获取日期:
public static String GetProperty(this Principal principal, String property)
{
DirectoryEntry directoryEntry = principal.GetUnderlyingObject() as DirectoryEntry;
if (directoryEntry.Properties.Contains(property))
return directoryEntry.Properties[property].Value.ToString();
else
return String.Empty;
}
像这样使用:
var createdDate = principal.GetProperty("whenCreated");
关于.net - 如何从.NET检索AD用户的创建日期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2228468/