2014-09-22 36 views

回答

4

在2010年EWS沒有操作,將返回這個你只有ResolveName操作和expandgroup操作。因此,在EWS中,您可以使用一種解決方法,將想要返回的所有用戶放入組中,然後在該組上使用ExpandGroup。

否則,你應該使用LDAP直接使用的System.DirectoryServices例如http://www.infinitec.de/post/2011/10/25/Searching-the-Global-Address-List-C-Edition.aspx或使用Exchange命令行管理程序和Get-郵箱看到http://msdn.microsoft.com/en-us/library/office/ff326159(v=exchg.150).aspx

另外一個解決方法是,如果你有較少的在你的GAL可以使用100個對象「SMTP:」 與resolveName如

 PropertySet cntProp = new PropertySet(BasePropertySet.FirstClassProperties); 
     NameResolutionCollection ncCol = service.ResolveName("SMTP:", ResolveNameSearchLocation.DirectoryOnly, true, cntProp); 
     foreach (NameResolution nc in ncCol) { 
      if(nc.Contact.Alias != null){ 
       Console.WriteLine("Address : " + nc.Mailbox.Address); 
       Console.WriteLine("Alias : " + nc.Contact.Alias); 
       Console.WriteLine("Type : " + nc.Mailbox.MailboxType); 
      } 
     } 

乾杯 格倫

+0

謝謝!我結束了使用LDAP。這是否意味着添加到ms excahnge的任何用戶都會自動添加到AD? – 2014-09-29 07:38:42

+0

是的,但其方式與您的思維方式相反,例如您需要先創建一個AD帳戶,然後該帳戶已啓用郵件(對郵件啓用的聯繫人,通訊組,郵件啓用的公共文件夾來說,這是相同的)。 Active Directory是Exchange的目錄服務。 – 2014-09-30 04:33:40

+0

aha。謝謝。我們沒有運行excahnge服務器,所以只要ldap返回正確的數據,都沒問題。謝謝!! – 2014-10-01 11:33:40

相關問題