Exchange server 从exchange server获取所有联系人

Exchange server 从exchange server获取所有联系人,exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,我想从Exchange server获取所有用户,我不想获取用户的联系人。事实上,我想让所有广告用户都成为我们无法连接的Active Directory mExchangeService.ImpersonatedUserId = new ImpersonatedUserId { Id = "jack@aa.com", IdType = ConnectingIdType.SmtpAddress };

我想从Exchange server获取所有用户,我不想获取用户的联系人。事实上,我想让所有广告用户都成为我们无法连接的Active Directory

     mExchangeService.ImpersonatedUserId = new ImpersonatedUserId
        {
            Id = "jack@aa.com",
            IdType = ConnectingIdType.SmtpAddress
        };
        var contacts = _mExchangeService.FindItems(new FolderId(WellKnownFolderName.Contacts),new ItemView(1000)); 

我可以使用上面的代码来获取用户的联系人,但这不是我想要的,我想要使用服务帐户来获取所有Exchange web服务用户。

您可以使用EWS来检索目录用户。问题是EWS将返回不超过100个用户,并且无法更改它或进行任何分页。因此,如果你在一家较大的公司,你不能真正使用EWS

守则:

var nameResolutionCollection = service.ResolveName("SMTP:",
    ResolveNameSearchLocation.DirectoryOnly, true);
foreach (var c in nameResolutionCollection)
{
    Console.WriteLine(c.Mailbox.Address);
}
Console.WriteLine(nameResolutionCollection.Count()); // Maximum 100 users.

谢谢,我知道这个方法,但只能得到100张唱片,奇怪的是为什么只提供100张唱片谢谢你!遗憾的是,对于我们公司的ActiveDirectory来说,100还不够。你知道还有其他选择吗?或者我必须通过吗?@Tholle:我认为Active Directory是一种选择。