2010-05-26 22 views
5

Xin lỗi vì là một người đau uber, nó tất cả đều rất mới :(LDAP Query cho của OU

Đã có rất nhiều sự giúp đỡ về vấn đề này, nhưng dường như không thể nhìn thấy được vấn đề, tôi đang cố gắng để cư một combo box với một danh sách của tất cả các OU hiện tại, sau đó để gửi cho mỗi máy trong OU đó một lệnh tắt máy. (Thu AD OU danh sách & kích hoạt danh sách thư mục OU) là. Q trước tôi

 string defaultNamingContext; 
     //TODO 0 - Acquire and display the available OU's 
     DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE"); 
     defaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value.ToString(); 
     DirectoryEntry entryToQuery = new DirectoryEntry ("LDAP://" + defaultNamingContext); 
     MessageBox.Show(entryToQuery.Path.ToString()); 

     DirectorySearcher ouSearch = new DirectorySearcher(entryToQuery.Path); 
     ouSearch.Filter = "(objectCatergory=organizationalUnit)"; 
     ouSearch.SearchScope = SearchScope.Subtree; 
     ouSearch.PropertiesToLoad.Add("name"); 

     SearchResultCollection allOUS = ouSearch.FindAll(); 

     foreach (SearchResult oneResult in allOUS) 
     { 
      //comboBox1.Items.Add(oneResult.ToString()); 
      comboBox1.Items.Add(oneResult.Properties["name"][0]); 
     } 

tôi có được thông qua và gỡ lỗi tất cả mọi thứ tôi biết, người tìm kiếm không chọn bất kỳ kết quả nào, do đó tại sao không có gì được điền vào hộp combo.

+0

Tôi vừa cố gắng thêm toàn bộ đường dẫn LDAP theo cách thủ công entryToQuery = "LDAP: // OU = GTP, DC = GTP, DC = LOCAL" Tôi biết rằng chắc chắn có bộ phận OU dưới đây trong cây, tôi có đã thay thế thuộc tính để tải thành ["distinguishedName"] để xem liệu nó có thể p ull rằng trở lại, mặc dù suy nghĩ về nó mà sẽ làm cho không có sự khác biệt. Siêu stumped vào thời điểm này !!! –

+1

+1 Câu hỏi thú vị cho các vấn đề liên quan đến AD. –

Trả lời

3

tôi đã phải sử dụng không được lập chỉ mục objectClass hơn là Catergory.

Bạn chỉ cần đánh vần nó một cách chính xác: objectCategory - không objectCate r đẫm máu

(bạn có một "r" quá nhiều trong đó ..... :-)

+1

Tôi biết tôi nên đi học thường xuyên hơn: P –

2

Hoạt động :) :)

Tôi đã phải sử dụng đối tượng không được lập chỉ mụcClass thay vì Catergory.

Hộp kết hợp đã phổ biến hoàn toàn ngay bây giờ.

EDIT: { "(objectClass = organizationalUnit)" }

+1

+1 Để tự mình tìm câu trả lời cho câu hỏi của mình và cung cấp cho những người khác có thể tìm kiếm câu hỏi đó. Trong khi sử dụng lớp DirectorySearcher, luôn cung cấp thuộc tính "objectClass" trong thành viên thuộc tính DirectorySearcher.Filter của bạn. –

+0

Cảm ơn Will Tại sao ObjectCatergory không hoạt động, có ai biết không? –

Các vấn đề liên quan