2013-09-18 2 views
0

Я нашел несколько примеров здесь и там, но, похоже, я не могу найти тот, который обращается к извлечению свойства управляемого из записи компьютера. (Я не знаю, имя пользователя, но она хранится в ManagedBy)Попытка вытащить свойство «ManagedBy» из объекта «Компьютер» в AD

DirectoryEntry searchRoot = new DirectoryEntry("LDAP://"+lblDomain.Text); 
DirectorySearcher search = new DirectorySearcher(searchRoot); 

search.Filter = ("(objectClass=computer)"); 
search.PropertiesToLoad.Add("managedBy"); 
search.PropertiesToLoad.Add("distinguishedName"); 
search.PropertiesToLoad.Add("cn"); 

SearchResultCollection groups = search.FindAll(); 

foreach (SearchResult sr in groups) 
{ 
    if (sr.Properties.Contains("managedby")) 
    { 
     lblManagedBy.Text=(sr.Properties["managedBy"][0].ToString()); 
    } 
    else 
    { 
     lblManagedBy.Text = "No owner specified in ManagedBy"; 
    } 
} 
+0

Я исправил форматирование для вас, но по какой-то причине вы его снова сломали (и теперь полностью удалили блок кода). Что происходит? –

+0

Там мы идем, это давало мне проблемы, извините! – Kungpaoshizi

+0

Отступ сломан снова. Пожалуйста, исправьте это. –

ответ

0

Ваш пример отлично работает для меня, так что несколько вещей, чтобы проверить.

1) Является ли доменное имя правильным в lblDomain.Text? Не могли бы вы привести пример того, что вы используете для этого? Поддельные имена в порядке. 2) У вас на самом деле есть учетные записи компьютеров с помощью Managed By? По умолчанию он пуст.

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

+0

Ну, это первый успешный тест, к которому я пришел, но я думаю, что мне нужно уточнить «найти все». Когда я запускаю его, он возвращает случайную компьютерную запись, поэтому, наверное, мой вопрос должен быть, как бы я адаптировал этот пример, чтобы принять имя pc, а затем вытащить информацию из этой записи. Предполагается, что технические данные должны вводить данные, когда машина назначена, но именно поэтому я вставлял последнюю проверку. Извиняюсь, хотя это моя первая попытка углубленных запросов AD :) – Kungpaoshizi

+0

Ahh вот мы идем, заменим вышеупомянутый фильтр: – Kungpaoshizi

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