2016-10-08 4 views
0

я пытаюсь написать процедуру, которая извлекает все свойства в доступной DirectoryEntryКак получить все свойства из объекта DirectoryEntry

// create LDAP connection object 

DirectoryEntry myLdapConnection = createDirectoryEntry(); 

// create search object which operates on LDAP connection object 
// and set search object to only find the user specified 

DirectorySearcher search = new DirectorySearcher(myLdapConnection); 
search.Filter = "(cn=" + username + ")"; 

// create results objects from search object 

SearchResult result = search.FindOne(); 

if (result != null) 
{ 
    // user exists, cycle through LDAP fields (cn, telephonenumber etc.) 

    ResultPropertyCollection fields = result.Properties; 

    foreach (String ldapField in fields.PropertyNames) 
    { 
     // cycle through objects in each field e.g. group membership 
     // (for many fields there will only be one object such as name) 

     foreach (Object myCollection in fields[ldapField]) 
      Console.WriteLine(String.Format("{0,-20} : {1}", 
        ldapField, myCollection.ToString())); 
    } 
} 

else 
{ 
     // user does not exist 
     Console.WriteLine("User not found!"); 
} 

Когда я пытаюсь выполнить эту процедуру под одного пользователя, он возвращает мне список свойств, но когда я пытаюсь выполнить эту процедуру под другим пользователем, он возвращает мне другое количество свойств.

Какие разрешения мне нужно сделать для того, чтобы получить все свойств?

Заранее спасибо

Коби

ответ

0

По умолчанию все успешно зарегистрированы на счетах AD (проверку) имеют доступ к Active Directory следующим образом (см https://blog.varonis.com/the-difference-between-everyone-and-authenticated-users/). Однако в некоторых случаях поведение может быть изменено администратором. Чтобы проверить, к каким атрибутам AD-объекта пользователь имеет доступ, откройте ADUC в любом DC, откройте необходимые свойства объекта AD, перейдите на вкладку «Безопасность». Там вы можете увидеть общую информацию о безопасности для всех пользователей \ групп. Если вы нажмете кнопку «Дополнительно» на вкладке, перейдите на вкладку «Эффективный доступ», вы можете проверить эффективные разрешения доступа, которые требуемый руководитель безопасности имеет на объекте.

Простейший способ подключения к DC с использованием учетной записи, принадлежащей группе Domain Admins \ Enterprise Admins. Однако я бы рекомендовал избежать этого из соображений безопасности и правильно настроить разрешения

Смежные вопросы