如何在没有用户实例的情况下获取Active Directory用户objectClass的属性名称?

时间:2018-06-28 06:22:25

标签: c# active-directory

基本上,我想查询用户objectClass的 schema ,只是我知道用户对象可能具有的所有可能的属性名称,但是我不想必须实际查找用户才能执行此操作。

1 个答案:

答案 0 :(得分:1)

基于my answer here的子集,您可以使用架构实例的FindClass()方法获取User类的属性。

请找到以下符合您需要的代码:

DirectoryEntry entry = new DirectoryEntry(
        "LDAP://CN=Schema,CN=Configuration,DC=domain,DC=local",
        null, null, AuthenticationTypes.Secure);

ActiveDirectorySchema schema = ActiveDirectorySchema.GetCurrentSchema();

// below code retrieves Active Directory Domain Services class "User" in the schema.
ActiveDirectorySchemaClass user = schema.FindClass("User");

foreach (ActiveDirectorySchemaProperty property in user.GetAllProperties())
{
    Console.WriteLine("{0}", property.Name);
}

您可以获得有关attributes of User class on Microsoft docs的更多详细信息。