我正在尝试使用 c# 查找 Exchange Server 2007 的所有会议室。我找到了一种使用 EWS 托管 API 的简单方法:
http://msdn.microsoft.com/en-us/library/exchange/hh532566(v=exchg.80).aspx
不幸的是,GetRoomLists() 不适用于 Exchange Server 2007。我希望如果有人已经工作或知道如何在 Exchange Server 2007 上找到会议室,那将是一个很大的帮助。我想查看 Exchange 服务器上所有可用的会议室,然后想使用它们的属性。
有没有办法可以显示所有现有房间,然后使用其属性,如电话/便笺选项卡信息?
我正在使用 LDAP,但它一直给我错误“服务器无法运行”。我想可能是我使用了错误的凭据。因此,我尝试使用 Google,但它对我没有帮助。
随附请找到我的代码:-
using (DirectoryEntry dir2 = new DirectoryEntry("LDAP://www.google.com/DC=www,DC=google,DC=com", null, null, AuthenticationTypes.Encryption))
{
dir2.RefreshCache();
DirectorySearcher adSearch = new DirectorySearcher(dir2);
adSearch.Filter = "(&(objectClass=*)(msExchRecipientDisplayType=7))";
SearchResultCollection adResult = adSearch.FindAll();
foreach (SearchResult item in adResult)
{
ResultPropertyCollection property = item.Properties;
ResultPropertyValueCollection name = property["name"];
ResultPropertyValueCollection proxyAddresses = property["proxyAddresses"];
ResultPropertyValueCollection legacyExchangeDN = property["legacyExchangeDN"];
..........
}
}
它给了我封闭代码的错误:-
dir2.RefreshCache();
我不确定,我做错了什么。我尝试过使用不同的 LDAP 值,例如:-
using (DirectoryEntry dir2 = new DirectoryEntry("LDAP://ldap.google.com/DC=www,DC=google,DC=com", null, null, AuthenticationTypes.Encryption))
using (DirectoryEntry dir2 = new DirectoryEntry("LDAP:///DC=www,DC=google,DC=com", null, null, AuthenticationTypes.Encryption))
using (DirectoryEntry dir2 = new DirectoryEntry("LDAP://DC=www,DC=google,DC=com", null, null, AuthenticationTypes.Encryption))
但没有什么能真正帮助我。
你知道我做错了什么吗?
随附请查找堆栈跟踪:
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.RefreshCache()
at Test_Exchange.Program.Main(String[] args) in C:\Inetpub\wwwroot\Test Exchange\Test Exchange\Program.cs:line 26
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
任何帮助或建议将不胜感激。
提前致谢 !!