如何通过AD名称从EWS获取权限信息?

时间:2014-03-28 09:09:33

标签: active-directory exchangewebservices

剂量交换有通​​过域帐户查找邮箱的方法吗? (即活动目录名称)

我想创建一个页面来显示特定AD用户的授权邮箱信息,但是我发现AD名称可以与交换显示名称不同,所以要对当前任何方法进行检查吗?

由于

1 个答案:

答案 0 :(得分:0)

如果您没有要查找的帐户的电子邮件地址,我建议您在EWS托管API中使用ResolveName()方法,或在EWS中使用ResolveNames操作。这将允许您提供文本sting并将一个或多个邮箱作为可能的匹配返回。您可以遍历结果,直到找到所需的邮箱。从那里,您可以绑定到邮箱以获取其他信息(如果需要)。以下是使用EWS托管API的示例:

// Resolve the ambiguous name "dan".
NameResolutionCollection resolvedNames = service.ResolveName("dan");

// Output the list of candidates.
foreach (NameResolution nameRes in resolvedNames)
{
    Console.WriteLine("Contact name: " + nameRes.Mailbox.Name);
    Console.WriteLine("Contact e-mail address: " + nameRes.Mailbox.Address);
    Console.WriteLine("Mailbox type: " + nameRes.Mailbox.MailboxType);
}

以下是使用EWS的相同示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <ResolveNames xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
              xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
              ReturnFullContactData="true">
      <UnresolvedEntry>dan</UnresolvedEntry>
    </ResolveNames>
  </soap:Body>
</soap:Envelope>

我很快就会在MSDN上发表一篇文章,提供有关这些示例的更多详细信息。现在,您可以查看方法/操作的参考主题:

我希望这会有所帮助。如果这确实解决了您的问题,请将帖子标记为已回答。

谢谢,

---鲍勃---