DirectoryEntry结果服务器不愿意处理请求

时间:2013-04-24 14:30:40

标签: c# .net active-directory

我正在编写一个与AD集成的小应用程序,它将列出用户并允许该网站的成员编辑用户的某些字段。这些字段将是名字,姓氏,显示名称和电子邮件。

当我运行以下代码时,我得到一个说

的异常
  

服务器不愿意处理请求。

请注意,result不是null,并且包含我要编辑的正确的活动目录用户。另请注意,result的类型为SearchResult。另请注意,我用于连接AD的用户是管理用户。

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();

任何想法?

1 个答案:

答案 0 :(得分:0)

我相信

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

是你的问题。使用givenName作为名字。 “cn”由系统管理。

此外:
如果使用Exchange,则Mail属性由其管理。

考虑修改samAccountName的后果。用户可能不知道如何登录,单独使用伪SSO的系统可能无法识别它们,登录名称与本地配置文件名称不匹配等。