2012-12-06 57 views
8

我使用this page中的示例將用戶添加到Active Directory組,但我收到一條異常消息「服務器不願處理請求「執行服務器不願意處理請求 - 活動目錄 - 通過C#添加用戶

dirEntry.Properties["member"].Add(userDn);

+0

我也想添加引用鏈接[C#:服務器不願意處理請求](http://nzpcmad.blogspot.in/2012/03/c-server-is-unwilling-to-process的.html)。該鏈接對我有幫助。 –

+0

@Mauricio我會請你回答你自己的問題。因爲這個問題正在獲得點擊,所以人們可以回答。但是他發現它已經得到回答。所以,如果你能回答它自己,這將是一件好事。 –

回答

1

時,這個問題我花了很多時間來解決。首先,錯誤消息看起來像一個笑話。其次,沒有什麼比這更簡單的了。

無論如何,我設法解決它:

  1. 確保userDn包含整個路徑(例如,"LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com"這實際上是非常重要,如果你不提供完整的路徑它會拋出一個異常來自HRESULT:0x80005000

  2. 通過entry.Invoke("Add", new object[] { userDn });

  3. 更換 dirEntry.Properties["member"].Add(userDn);

然後我想刪除一個用戶,我期望entry.Invoke("Remove", new object[] { userDn });工作。然而,如果你使用小寫「刪除」,那麼這個惡魔廣告只會工作,所以entry.Invoke("remove", new object[] { userDn });爲我工作。

+0

你可能有錯誤的搜索類型。除非您不使用LDAP類而不使用更高級別的DirectorySearcher和DirectoryEntry,否則不需要使用完整的LDAP路徑。當值的格式不可接受時,總是拋出此異常。我同意這個消息很愚蠢,應該更改爲驗證異常,並明確指出驗證檢查失敗。 –

+0

也許你找到了間接的解決方法,但我認爲你的問題更多的是由搜索者/根條目類型引起的(例如,有時候你需要創建一個搜索器,它可以從全局編錄生成你的條目,有時候是DC,有時候是一個域) 。 –

4

我有一個類似的問題,我試圖添加一個成員到一個組。專門嘗試將組添加到組並獲得相同的有用錯誤「服務器不願意處理請求」OP提供的答案對我無效。

對我而言,我無法將組添加到我的組是因爲我試圖添加成員的組是「全局」作用域組,而它需要是「通用」作用域組。希望這可以幫助某人。

+0

是當更新中請求的數據類型被拒絕時,總是拋出此錯誤。在你的情況下,組的類型,在我的情況下,DN值的另一個錯誤。 –

相關問題