2008-11-27 57 views
1

我查詢所有安全組在特定領域上的備註字段。如何訪問使用</p> <pre><code>PrincipalSearchResult<Principal> results = ps.FindAll(); </code></pre> <p>其中Ps是PrincipalSearcher一個GroupPrincipal對象

然後,我需要迭代結果(將其轉換爲GroupPrincipal首先),然後在notes字段中找到包含特定字符串的結果。

但AD的Notes字段顯然不是GroupPrincipal類中的公共字段,doh。 我在做什麼錯?

更新: 我放棄了這一個。似乎沒有辦法訪問那個討厭的Notes字段。

回答

1

我已經一次又一次地回到這個挑戰,但現在我終於放棄了。它確實看起來像該屬性是無法訪問。

6

,您可以訪問「註釋」目錄項的字段,例如:

// Get the underlying directory entry from the principal 
System.DirectoryServices.DirectoryEntry UnderlyingDirectoryObject = 
    PrincipalInstance.GetUnderlyingObject() as System.DirectoryServices.DirectoryEntry; 

// Read the content of the 'notes' property (It's actually called info in the AD schema) 
string NotesPropertyContent = UnderlyingDirectoryObject.Properties["info"].Value; 

// Set the content of the 'notes' field (It's actually called info in the AD schema) 
UnderlyingDirectoryObject.Properties["info"].Value = "Some Text" 

// Commit changes to the directory entry 
UserDirectoryEntry.CommitChanges(); 

接過狩獵的一點點 - 我曾以爲Notes屬性確實被稱爲「筆記」,ADSIEDIT救援!

+0

這應該是公認的答案=) – 2013-07-08 20:25:06

1

對於使用「info」屬性的任何人:請注意,如果使用空字符串或空值,它將引發異常。

1

我能夠改變這個領域。

entryToUpdate.Properties [「info」]。Clear(); entryToUpdate.Properties [「info」]。Add(「你想要的某些文本在這裏」);

所以感謝布拉德:)

+0

請嘗試讀取這個http://stackoverflow.com/about,以獲取有關在這裏做題/答案更多的瞭解。你的貢獻沒有回答這個問題。這更多的是一個評論,你可以添加一次,你會增加你的聲譽:http://stackoverflow.com/faq#reputation – 2013-08-29 13:44:07

相關問題