1

我正在尝试自动化为 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();
4

1 回答 1

0

我最初的反应有点古怪。我完全误读了代码。您所拥有的与我们在 Exch 2003 期间在生产中工作的类似。我们从一个 Web 服务调用代码,该服务作为一个在 AD 和 Exchange 中具有管理员权限的帐户运行。

无论如何,这就是 MSDN 现在所说的链接

重要 由于在多线程运行时环境中观察到多跳身份验证问题和意外结果,Microsoft® 不支持在 Microsoft ASP.NET 页面、ASP 网页或 Web 服务中使用 CDO for Exchange Management (CDOEXM)。要创建使用 CDOEXM 功能的基于 Web 的 Microsoft Exchange 管理应用程序,Microsoft 建议将 CDOEXM 包装在分布式组件对象模型 (DCOM) 包中并从您的应用程序中调用该包。

于 2009-01-16T16:43:57.977 回答