2009-01-16 75 views
1

我正在嘗試自動爲AD用戶創建Exchange郵箱並且遇到問題。當調用CreateMailbox方法時,我收到錯誤「錯誤HRESULT E_FAIL已從調用COM組件返回」。我已經安裝並引用了Exchange管理工具,並使用模擬權限。創建Exchange郵箱時發生HRESULT E_FAIL錯誤(CDOEXM.IMailboxStore.CreateMailbox)

下面是代碼:

  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

我原來的反應是有點怪人;我完全誤解了代碼。你所擁有的與我們在Exch 2003中的生產工作類似。我們從一個Web服務調用代碼,該服務作爲在AD和Exchange中具有管理權限的帳戶運行。

總之,這是MSDN現在link說:由於多跳認證,並在多線程運行時環境觀察到意想不到的效果問題

重要,微軟不支持使用CDO的Exchange管理( CDOEXM)在Microsoft ASP.NET頁面,ASP網頁或Web服務中。要創建使用CDOEXM功能的基於Web的Microsoft Exchange管理應用程序,Microsoft建議將CDOEXM包裝在分佈式組件對象模型(DCOM)包中,並從應用程序調用該包。

+0

adUser是一個IADsUser對象,用戶是DirectoryEntry – Matt 2009-01-16 16:46:24

相關問題