Microsoft Exchange:如何解析一个杰出的名称
我该如何解决这个问题:
/O=CHEESE/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=LHALA1
到电子邮件地址? 我必须使用Exchange Web服务吗?
我假设这是legacyExchangeDN属性。
尝试这样的事情:
string dn = "/O=CHEESE/OU=FIRST ADMINISTRATIVE GROUP/" + "CN=RECIPIENTS/CN=LHALA1"; string MailAddress=string.Empty; string user = string.Empty; using (DirectorySearcher ds = new DirectorySearcher()) { ds.Filter = string.Format("(&(ObjectClass=User)(legacyExchangeDN={0}))", dn); SearchResultCollection src = ds.FindAll(); if (src.Count > 1) { //Oops too many! } else { user = src[0].Properties["samAccountName"][0].ToString(); MailAddress = src[0].Properties["Mail"][0].ToString(); } }
如果您可以对目录执行LDAP搜索,则可以检索该用户的条目,然后默认电子邮件地址将位于mail:属性中
如果它是启用邮箱的Exchange用户,则在proxyAddresses:属性,联系人或非邮箱已启用邮件的用户中也会有地址,targetAddress中将有远程地址:属性
- 使用C#向Active Directory注册更改通知
- Active Directory服务:PrincipalContext – “容器”对象的DN是什么?
- 如何在Active Directory中获取/更新“联系人”?
- c #Active Directory服务findAll()仅返回1000个条目
- 是否有更好(更简单)的方法来获取特定域的SID?
- 从ActiveDirectory检索用户帐户过期
- 获取AD OU列表
- UserPrincipals.GetAuthorizationGroups枚举组时发生错误(1301)。 升级到Server 2012域控制器后
- 如何将图像文件上传到C#中的Active Directory用户配置文件?