我正在编写一个与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();
任何想法?
答案 0 :(得分:0)
我相信
entryToUpdate.Properties["cn"].Value = user.Name;
是你的问题。使用givenName作为名字。 “cn”由系统管理。
此外:
如果使用Exchange,则Mail属性由其管理。
考虑修改samAccountName的后果。用户可能不知道如何登录,单独使用伪SSO的系统可能无法识别它们,登录名称与本地配置文件名称不匹配等。