我正在尝试自动化为AD用户创建Exchange邮箱的过程,并且遇到了问题。当调用CreateMailbox方法时,我收到错误“错误HRESULT E_FAIL已从调用COM组件返回”。我已经安装并引用了Exchange管理工具,并且正在使用模拟权限。
以下是代码:
ActiveDs.IADsUser adUser = (ActiveDs.IADsUser)user.NativeObject;
adUser.AccountDisabled = !Active;
user.CommitChanges();
//Set Password
user.Invoke("SetPassword", Password);
user.CommitChanges();
//Create Mailbox
IMailboxStore mailbox;
mailbox = (IMailboxStore)adUser;
mailbox.CreateMailbox("LDAP://CN=StandardUsers,CN=StandardUsers,CN=InformationStore,CN=xxxxx," +
"CN=Servers,CN=First Administrative Group,CN=Administrative Groups," +
"CN=xxxxx Main,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=xxxxx,DC=com");
user.CommitChanges();
答案 0 :(得分:0)
我最初的反应有点怪异;我完全误读了代码。你所拥有的东西类似于我们在Exch 2003期间在生产中所做的工作。我们从一个在AD和Exchange中拥有管理员权限的帐户运行的Web服务调用代码。
无论如何,这就是MSDN现在所说的link:
重要由于在多线程运行时环境中观察到多跳身份验证和意外结果的问题,Microsoft®不支持在Microsoft ASP.NET页面中使用CDO进行Exchange管理(CDOEXM),ASP Web页面或Web服务。若要创建使用CDOEXM功能的基于Web的Microsoft Exchange管理应用程序,Microsoft建议将CDOEXM包装在分布式组件对象模型(DCOM)包中,并从您的应用程序中调用该包。