2013-04-24 57 views
0

我在寫一個與AD集成的小應用程序,它將列出用戶並允許網站成員編輯用戶的某些字段。這些字段將是名字,姓氏,顯示名稱和電子郵件。DirectoryEntry結果服務器不願意處理請求

當我運行下面的代碼,我得到的是說

服務器是不願意處理該請求異常。

請注意result不是null並且包含我想要編輯的正確的活動目錄用戶。還請注意result的類型是SearchResult。另請注意,我用來連接到AD的用戶是Administrative用戶。

DirectoryEntry entryToUpdate = result.GetDirectoryEntry(); 

entryToUpdate.Properties["cn"].Value = user.Name; 
entryToUpdate.Properties["mail"].Value = user.Email; 
entryToUpdate.Properties["sn"].Value = user.Surname; 
entryToUpdate.Properties["displayName"].Value = user.DisplayName; 

string username = user.Email.Substring(0, user.Email.IndexOf("@")); 

entryToUpdate.Properties["sAMAccountName"].Value = username; 

entryToUpdate.CommitChanges(); 

任何想法?

回答

0

我相信

entryToUpdate.Properties["cn"].Value = user.Name; 

是你的問題。使用givenName作爲第一個名字。 「cn」由系統管理。

另外:
如果使用Exchange,Mail屬性由它管理。

考慮修改samAccountName的分支。用戶可能不知道如何登錄,單獨使用僞SSO的系統可能無法識別它們,登錄名稱與本地配置文件名稱不匹配等。

+0

感謝,作品像一個魅力,關於samaccountname它不會是一個問題。不過謝謝你的關注 – Armand 2013-04-26 11:17:47

相關問題