Active-Directory

Outlook 不會在新加入域的電腦上打開。Exchange 2013 郵箱可能已損壞

  • December 1, 2016

還有一個關於 Microsoft Outlook (Office 365 / 2013)、Exchange 2013 SP1 和 Active Directory 的有趣問題。在新安裝的 Windows 7 x64 Professional 電腦上,我安裝了 Microsoft Office 365 並嘗試連接到我們本地的 Exchange 2013 Server。突然出現以下錯誤:

“無法啟動 Microsoft Outlook。無法打開 Outlook 視窗。無法打開文件夾集。您必須使用目前配置文件連接到 Microsoft Exchange,然後才能將文件夾與 Outlook 數據文件 (.ost) 同步。”

關於辦公室支持網站(https://support.office.com/en-za/article/I-can-t-start-Microsoft-Outlook-2010-or-2013-or-receive-the-error-Cannot -start-Microsoft-Office-Outlook-Cannot-open-the-Outlook-Window–d1f69da6-b333-4650-97bf-4d77bd7abb85),問題應該解決如下:

  1. 在安全模式下執行 Outlook –> 同樣的錯誤
  2. 在 Outlook 中創建新的使用者配置文件:控制面板 –> 郵件 –> 配置文件:刪除舊配置文件,創建一個新配置文件。帳戶已成功創建,但 Outlook 無法啟動。同樣的錯誤。
  3. 執行outlook.exe /resetnavpane –> 同樣的錯誤
  4. 使用 scanpst.exe 修復 Outlook 數據文件 –> 應用程序甚至無法啟動。它會在任務管理器中出現一小段時間,然後再次消失。嘗試使用 scanpst.exe 打開 .ost 文件時,它會打開。修復過程開始後出現錯誤提示,Outlook 無法辨識 ost 文件。

更多嘗試:

創建另一個數據文件並嘗試在電子郵件帳戶中切換文件。無法切換數據文件,因為“瀏覽”按鈕為灰色。即使新創建的數據文件設置為預設值。設置為預設時 Outlook 會啟動,但不會在新數據文件中收到電子郵件。其他郵箱也無法添加。

另一個有趣的事實是,僅當我使用特定使用者登錄時才會出現此問題。這台電腦上的其他使用者可以通過 Outlook 訪問他們的郵箱,沒有任何問題。

//Edit 2015-07-14 16:27 我也試過用同一使用者在另一台電腦上打開outlook。問題似乎幾乎是使用者。

我不確定問題是否可以通過其他方式解決,但我將向您展示最終對我有用的方法。似乎使用者的郵箱被某種方式損壞了。我仍然不知道到底是什麼問題。所以我最終的解決方案是重新創建使用者的郵箱。

使用 Exchange 命令行管理程序將使用者的電子郵件導出到 pst 文件:

New-MailboxExportRequest -Mailbox "username" -FilePath "\\path-to-share\filename.pst"

您可以使用以下方式檢查狀態:

Get-MailboxExportRequest | Get-MailboxExportStatistics | fl

ExportRequest 或 ImportRequest 可能會卡在“已排隊”狀態。在我的情況下,我的 Get-MailboxExportRequest 結果中有一些其他的 ExportRequest。對於每個範例,您可以使用以下命令刪除已完成的請求:

Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

或使用此的特定:

Remove-MailboxExportRequest -Identity "OU\structure\to\useraccount\MailboxExport1"

在我刪除所有其他請求後,所需請求的狀態從“排隊”變為“進行中”。

導出完成後,我們需要先禁用使用者的郵箱。請注意,在禁用郵箱之前刪除郵箱也會刪除整個 Active Directory 使用者帳戶。禁用會刪除使用者帳戶和郵箱之間的連接。

Disable-Mailbox -Identity "username"

現在我們需要禁用郵箱的 MailboxGuid。我們可以使用以下命令在我們的交換數據庫中列出禁用的郵箱:

Get-MailboxStatistics -Database “Mailbox Database Name" | where {$_.disconnectdate -ne $null} | select displayname,MailboxGUID

在我的情況下(Microsoft Exchange Server 2013 CU4 (SP1)),禁用的郵箱不在列表中,所以我列出了所有其他郵箱,在我的情況下仍然可以,因為我沒有那麼多。其他使用者可能需要在他們的命令中使用更具體的過濾器:

Get-MailboxStatistics -Database “Mailbox Database Name" | where {$_.disconnectdate -eq $null} | select displayname,MailboxGUID

但是我找到了使用者的郵箱並複制了 MalboxGuid。然後我使用以下方法將其刪除:

Remove-Mailbox -Database “Mailbox Database Name" -StoreMailboxIdentity 92d20afd-42d8-496e-9455-34b3d6cb066e

使用者的郵箱現在已刪除,我們準備創建一個新郵箱。我只是登錄到“ECP”並為使用者創建了一個新郵箱。創建郵箱後,我們準備使用以下命令將導出的電子郵件導入新郵箱:

New-MailboxImportRequest -Mailbox "username" -FilePath "\\path-to-share\filename.pst"

和以前一樣,可以使用以下方法檢查此過程的狀態:

Get-MailboxImportRequest | Get-MailboxImportStatistics | fl

導入完成後,我建議刪除使用者的 Outlook 配置文件並創建一個新配置文件。就我而言,在我這樣做之前它仍然存在問題,我還為使用者刪除並重新分配了對其他郵箱的權限,以防萬一。

最後一件事:在整個過程之後,嘗試向使用者的電子郵件帳戶發送電子郵件的內部使用者發生了“無法傳遞電子郵件”錯誤。我認為這是因為 MailboxGuid 當然已經更改,並且伺服器仍然嘗試將電子郵件傳遞到舊郵箱。嘗試向使用者郵箱發送電子郵件的使用者需要完成離線通訊簿中的最新更改。它似乎不會影響所有使用者,而是影響一些使用者,因此我為受影響的使用者創建了一個教程,並在他們報告錯誤時將其發送給他們。

我希望這會幫助那些不幸遇到同樣問題的人。

引用自:https://serverfault.com/questions/705620