【问题标题】:Exchange 2010 and root foldersExchange 2010 和根文件夹
【发布时间】:2012-05-08 05:08:19
【问题描述】:

在 Exchange 2003 上,我可以运行以下代码。

使用 VB6 和 MAPI CDO 1.2.1

Private Sub Command1_Click()
    Dim objSession As MAPI.Session
    Set objSession = CreateObject("MAPI.Session")
    strProfileInfo = myExcServer & vbLf & myExcAlias
    objSession.Logon ProfileInfo:=strProfileInfo
    For Each nfo In objSession.InfoStores
        Text1.Text = Text1.Text & "nfo.Name: " & nfo.Name & vbNewLine
        Text1.Text = Text1.Text & "nfo.RootFolder.Name: " & nfo.RootFolder.Name & vbNewLine
    Next
    Set objMessage = Nothing
    Set objInbox = Nothing
    objSession.Logoff
    Set objSession = Nothing
End Sub

我明白了:

nfo.Name: Public Folders
nfo.RootFolder.Name: IPM_SUBTREE
nfo.Name: Mailbox - pperez pperez
nfo.RootFolder.Name: Top of Information Store

但是,我尝试在 Exchange 2010 上运行它,但出现错误,

nfo.Name: Public Folders
Run-time error '-2147221219 (8004011D)':
[Collaboration Data Objects - [MAPI_E_FAILONEPROVIDER(8004011D)]]

仅在对根文件夹 nfo.RootFolder.Name 的引用中引发异常。

2010 年不支持此属性吗?

欢迎任何建议, 谢谢。

【问题讨论】:

    标签: vb6 exchange-server mapi exchange-server-2010 exchange-server-2003


    【解决方案1】:

    您确定您的 Exchange 2010 确实有 PF 存储吗? 在遍历存储之前先尝试访问默认存储(例如读取收件箱文件夹名称) - 这将导致 CDO 1.21 访问服务器并意识到没有 PF 存储。

    【讨论】:

      【解决方案2】:

      @Dmitry Streblechenko 是对的,我刚刚添加了 PF 并且它起作用了。

      New-PublicFolderDatabase "Public Folders" -Server $MyServer
      Mount-Database "Public Folders"
      

      【讨论】:

        猜你喜欢
        • 2022-08-10
        • 2011-07-21
        • 2016-03-24
        • 1970-01-01
        • 2014-10-16
        • 2015-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多