共用方式為


Exchange Server

使用 ILM 2007 和 FIM 2010 佈建 Exchange

Rob Ward、 Aung Oo 和 Henna Kermani

系統管理員經常對佈建使用者、 連絡人和企業 Active Directory (AD) 中的信箱及 Exchange 平台使用識別生命週期 Manager 2007 (ILM 2007)。 運用諸如 ILM 2007 和 Forefront Identity Manager 2010 (FIM 2010) 等身分識別管理工具,即可免掉在 AD 和 Exchange 內手動進行建立帳戶和信箱等工作時容易發生的錯誤。

ILM 2007] 和 [FIM 2010 可以不只自動化帳戶和信箱佈建,它們也可以加入商務邏輯。 這可讓像是視使用者 ’ 商務群組或實體位置的特定伺服器上建立信箱的能力 ; 根據使用者 ’s 角色 ; 和佈建的新使用者 ’ 信箱郵件儲存區具有最多可用空間中,設定初始信箱的大小和限制。 FIM 2010 允許有核准工作流程和進階的功能,如 codeless 佈建的更多複雜商務邏輯。

最常見的 ILM 2007 實作 Exchange 環境是針對的全域通訊清單 (GAL) 位於兩個不同的 AD 樹系 ; 佈建和 de-provisioning 使用者 ’ 信箱 ; 以及同步處理的郵件遷移至新的 Exchange 版本期間的兩個企業 Exchange 環境中的目錄同步處理。

實作 ILM 2007] 和 [FIM 2010 佈建的案例中可能會因網路基礎結構、 安全性原則和 Exchange 組態而有所不同。 本文提供的佈建在 Exchange 環境,使用兩種產品的概觀,但它也切入往下到金鑰促進與 Exchange 2003 2007 和 2010年佈建的功能。

架構概觀

ILM 2007] 和 [FIM 2010 可以建立擁有郵件功能的物件在 Exchange 2003、 2007年和 2010年。 但是,注意不是每個版本的 Exchange 支援 ILM 的所有版本。 下表顯示支援分解:

(您尋找廣泛相容性的資訊在 的 Exchange Server支援性矩陣 中)。

若要啟用 Exchange 佈建,您必須設定佈建程序來建立擁有郵件功能的物件,並您也必須設定一個 Active Directory 管理代理程式 (ADMA) 互動的 Active Directory 及 Exchange 佈建擁有郵件功能的物件。

佈建程序概觀

Exchange 2003

若要完成佈建程序與 Exchange 2003,ILM 2007] 和 [FIM 2010 依賴上 Exchange ’s 「 收件者更新服務 (RUS)。 匯出,期間 [ADMA 連線到可用或慣用的網域控制站,並將擁有郵件功能] 物件 (如佈建組態由決定) 直接加入該目錄。

RUS 會監看的目錄中的擁有郵件功能物件的變更,並完成每個擁有郵件功能物件 ILM 2007 提供的程序並 FIM 2010 建立。 Exchange 會將這些物件的每個寫入目錄中,以最小的建立該物件所需的屬性集。 RUS 對它們套用 Exchange 原則,並將剩餘的必要的屬性,使它們支援完整的 Exchange 功能集。

當佈建 Exchange 2003,ILM 2007] 和 [FIM 2010 不需要直接連線到 Exchange Server,只到一個使用中目錄網域控制站 (ADDC)。 (請參閱 的 圖 1)。

 

圖 1 Exchange 2003 提供

Exchange 2007

與 Exchange 2007 ILM 2007 Feature Pack 1 (ILM 2007 FP1),而且 FIM 2010 依賴來完成佈建更新收件者 Windows PowerShell Cmdlet (Exchange 2007 管理工具的一部份)。 匯出,期間 ADMA 連線到可用或慣用的網域控制站,並將擁有郵件功能] 物件 (為佈建組態由決定) 加入至目錄。

在提供擁有郵件功能物件到目錄之後, ILM 2007] 和 [FIM 2010 叫用更新收件者 Cmdlet ILM/FIM 伺服器上。

 

圖 2 Exchange 2007 提供

Exchange 2007 佈建 (請參閱 的 圖 2) 需要 ILM 2007 FP1 大於或等於或 FIM 2010。 在另外安裝必須符合下列需求:

  • ILM 2007/FIM 2010 同步處理服務帳戶必須是網域帳戶。
  • ILM 2007 FP1management 代理程式 (MA) 的服務帳戶必須是 Exchange 收件者的系統管理員群組的成員。
  • ILM 2007/FIM 2010 同步處理伺服器必須加入網域。 它 doesn’t,但是,需要連接到網域的 Exchange 佈建就會發生。
  • 必須安裝 Windows PowerShell 1.0 ILM/FIM 伺服器上。
  • Exchange 管理工具必須安裝 ILM/FIM 伺服器上。

Exchange 2010

對於 Exchange 2010 ILM 2007 Feature Pack 1 Service Pack 1] 和 [FIM 2010 依賴更新收件者指令程式,以完成佈建程序。 但是,不同 Exchange 2007 處理程序於這個指令程式直接在伺服器上執行 Exchange 使用 Windows PowerShell 2.0] 和 [遠端執行。 (請參閱 圖 3)

 

圖 3 Exchange 2010 提供

Exchange 2010 佈建要求 ILM 2007 FP1 SP1 大於或等於或 FIM 2010。 在另外安裝必須符合下列需求:

  • ILM 2007/FIM 2010 同步處理服務帳戶必須是網域帳戶。
  • ILM 2007 FP1 麻州的服務帳戶必須是 Exchange 收件者的系統管理員群組的成員。
  • ILM 2007/FIM 2010 同步處理伺服器必須加入網域。 它並不,但是,需要連接到網域的 Exchange 佈建就會發生。
  • Windows PowerShell 2.0 ILM/FIM 伺服器上必須安裝和必須安裝和設定成遠端存取上一個 Exchange 2010 用戶端存取伺服器 (CAS)。

提供

若要啟用 Exchange 佈建,您必須設定建立擁有郵件功能的物件,使用指令碼式佈建或 codeless 佈建程序。 下表顯示何種類型的佈建 FIM 2010 和各種版本的 ILM 支援:

編寫指令碼使用 ExchangeUtils 佈建

ExchangeUtils 類別提供可以用來在連接器空間中建立新的郵件物件的公用程式方法。 要使信箱需要,最低限度使用者物件上的下列屬性:

  • **DN–**DN (辨別名稱) 屬性是唯一識別 AD 伺服器中的物件的字串表示。
  • **mailNickname–**這個屬性是別名 Exchange 用來識別擁有郵件功能的物件。
  • **homeMDB–**homeMDB 屬性指定收件者 ’s 信箱儲存區的 URL。

以下是在 Visual Basic.NET 和 Visual C#.NET 中未使用屬性的範例:

Visual Basic .NET:

Public Sub Provision(ByVal mventry As MVEntry) _
    Implements IMVSynchronization.Provision

    Dim adMA As ConnectedMA
    Dim csentry As CSEntry
    Dim nickName, mailboxMDB As String
    Dim dn as ReferenceValue

    try
        adMA = mventry.ConnectedMAs("Fabrikam AD MA")

        nickName   = mventry("mailNickname").Value
        mailboxMDB = mventry("homeMDB").Value

        ' Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry("cn").Value).Concat("ou=mailboxes,dc=fabrikam,dc=com")

        If 0 = adMA.Connectors.Count then
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB)
        End If

        ' Handle any exceptions
        Catch ex As Exception
            '...
    End Try
End Sub

Visual C#.NET:

void IMVSynchronization.Provision (MVEntry mventry)
{
    ConnectedMA adMA;
    CSEntry csentry;
    String nickName, mailboxMDB;
    ReferenceValue dn;

    try
    {
        adMA = mventry.ConnectedMAs["Fabrikam AD MA"];

        nickName   = mventry["mailNickname"].Value;
        mailboxMDB = mventry["homeMDB"].Value;

        // Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry["cn"].Value).Concat("ou=mailboxes,dc=fabrikam,dc=com");

        if(0 == adMA.Connectors.Count)
        {
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB);
        }
    }

    // Handle any exceptions
    catch(Exception ex)
    {
        //...
    }
}

(您可以找到更多的資訊上 ExchangeUtils 類別 這裡 。 例如使用 ExchangeUtils 的移 這裡

Exchange 2007 指令碼式的佈建需求是 Exchange 2003 的相同的。 現有的編寫指令碼的擁有郵件功能的物件將不變更 Exchange 2007 佈建程序運作的 Exchange 2003 佈建。 與 Exchange 2010 不過,您需要加入我們涵蓋本文 Exchange 2010 和 msExchHomeServerName 上一節中的 [msExchHomeServerName] 屬性的屬性流程。

CustomScripted 佈建

ExchangeUtils 提供了簡單的方法,如建立擁有郵件功能的物件可能需要更多控制佈建程序。 所有 ExchangeUtils 方法都傳回一個可讓您在物件上設定其他屬性的 CSEntry 物件。 我們建議您允許 ExchangeUtils 建立擁有郵件功能物件並使用傳回的 CSEntry 物件來指定其他屬性。

若要建立擁有信箱功能的使用者,具有預設的密碼,可以登入,您使用 ExchangeUtils 產生信箱,然後加入使用傳回的 CSEntry 物件 unicodepwd 和 userAccountControl 屬性,如 Visual Basic.NET 和 Visual C#.NET 中這些範例所示:

Visual Basic .NET:

Public Sub Provision(ByVal mventry As MVEntry) _
    Implements IMVSynchronization.Provision

    Dim adMA As ConnectedMA
    Dim csentry As CSEntry
    Dim nickName, mailboxMDB As String
    Dim dn as ReferenceValue

    try
        adMA = mventry.ConnectedMAs("Fabrikam AD MA")

        nickName   = mventry("mailNickname").Value
        mailboxMDB = mventry("homeMDB").Value

        ' Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry("cn").Value).Concat("ou=mailboxes,dc=fabrikam,dc=com")

        If 0 = adMA.Connectors.Count then
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB)
            csentry("unicodepwd").Values.Add("p@ssword1")
            csentry("userAccountControl").IntegerValue = 512
        End If

        ' Handle any exceptions
        Catch ex As Exception
            '...
    End Try
End Sub

Visual C#.NET:

void IMVSynchronization.Provision (MVEntry mventry)
{
    ConnectedMA adMA;
    CSEntry csentry;
    String nickName, mailboxMDB;
    ReferenceValue dn;

    try
    {
        adMA = mventry.ConnectedMAs["Fabrikam AD MA"];

        nickName   = mventry["mailNickname"].Value;
        mailboxMDB = mventry["homeMDB"].Value;

        // Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry["cn"].Value).Concat("ou=mailboxes,dc=fabrikam,dc=com");

        if(0 == adMA.Connectors.Count)
        {
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB);
            csentry["unicodepwd"].Values.Add("p@ssword1");
            csentry["userAccountControl"].IntegerValue = 512;
        }
    }

    // Handle any exceptions
    catch(Exception ex)
    {
        //...
    }
}

codeless 佈建

如果您使用 FIM 2010,您必須使用 codeless 佈建的選項可讓您指定期間佈建它的而不需撰寫 VB 或 C# 程式碼加入至物件的屬性。 若要建立一個信箱,您最小下列的初始屬性流程設定與,同步處理規則:

  • **DN–**DN (辨別名稱) 屬性是唯一識別 AD 伺服器中的物件的字串表示。
  • **mailNickname–**這個屬性是別名 Exchange 用來識別擁有郵件功能的物件。
  • **homeMDB–**HomeMDB 屬性指定收件者 ’s 信箱儲存區的 URL。

若要建立擁有信箱功能的使用者具有預設的密碼,並可以登入,您也提供初始屬性流程 unicodepwd 和 userAccountControl 所示 圖 4

 

圖 4 的 輸出屬性流程設定

Exchange 2010 和 msExchHomeServerName

對於佈建 Exchange 2010,建立擁有郵件功能的使用者物件需要額外的屬性 — msExchHomeServerName —,您必須在您提供的程式碼中提供。 Exchange 會使用這個屬性來決定要為擁有郵件功能物件的郵件寄件者的位置。

若要提供 msExchHomeServerName 在佈建使用 ExchangeUtils 或您已經開發自己,您必須將顯示在註解之後的程式碼行加入" /] / [加入 msExchHomeServerName "下列範例所示:

Visual Basic .NET:

Public Sub Provision(ByVal mventry As MVEntry) _
    Implements IMVSynchronization.Provision

    Dim adMA As ConnectedMA
    Dim csentry As CSEntry
    Dim nickName, mailboxMDB As String
    Dim dn as ReferenceValue

    try
        adMA = mventry.ConnectedMAs("Fabrikam AD MA")

        nickName   = mventry("mailNickname").Value
        mailboxMDB = mventry("homeMDB").Value

        ' Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry("cn").Value).Concat("ou=mailboxes,dc=fabrikam,dc=com")

        If 0 = adMA.Connectors.Count then
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB)

    ' Add msExchHomeServerName
csentry("msExchHomeServerName").Value = "<value of msExchHomeServerName>"
        End If

        ' Handle any exceptions
        Catch ex As Exception
            '...
    End Try
End Sub

Visual C#.NET:

void IMVSynchronization.Provision (MVEntry mventry)
{
    ConnectedMA adMA;
    CSEntry csentry;
    String nickName, mailboxMDB;
    ReferenceValue dn;

    try
    {
        adMA = mventry.ConnectedMAs["Fabrikam AD MA"];

        nickName   = mventry["mailNickname"].Value;
        mailboxMDB = mventry["homeMDB"].Value;

        // Construct the distinguished name
        dn = adMA.EscapeDNComponent("CN=" + mventry["cn"].Value).Concat("ou=mailboxes,dc=fabrikam,dc=com");

        if(0 == adMA.Connectors.Count)
        {
            csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB);

// Add msExchHomeServerName
csentry["msExchHomeServerName"].Value = "<value of msExchHomeServerName>";

        }
    }

    // Handle any exceptions
    catch(Exception ex)
    {
        //...
    }
}

若要提供同步處理規則中的 msExchHomeServerName,新增 所示的初始屬性流程圖 5

 

圖 5 的 輸出的初始屬性流程組態

管理代理程式組態

若要正確佈建擁有郵件功能物件,Active Directory 管理代理程式必須與 AD 中互動及 Exchange。 這需要您設定 Exchange 佈建 (這您選取圖解中 的 圖 6 為 的 設定擴充程式 之後執行在建立管理代理程式] 對話方塊的右邊的窗格中)] 選項。

 

圖 6:設定規則擴充程式

您也必須確定從管理代理程式的設計工具] 窗格中選擇 [選取的屬性,然後在對話方塊的右窗格中挑選必要的屬性。 如需要拿什麼指導,我們納入圖表,顯示各種物件類型的屬性。

 

 

從 Exchange 2003 升級為 2007年:ILM 2007 FP1

ILM 2007 FP1 加入能力佈建 Exchange 2007 擁有郵件功能的物件。 的 圖 7 所示您可以啟用佈建 Exchange 2007 GAL 管理代理程式從建立管理代理程式] 對話方塊的左窗格中選取 的 設定擴充程式 來標示在右窗格中適當的核取方塊。

 

圖 7 建立自訂管理代理程式

這會導致 ILM 2007 FP1 本機叫用更新收件者指令程式,在匯出完成佈建程序。 沒有其他的設定是必要的。

從 Exchange 2003 升級為 2007年:ILM 2007 fp1 sp1 / FIM 2010

除了啟用您佈建 Exchange 2007 擁有郵件功能物件,ILM 2007 FP1 SP1 及 FIM 2010 可讓您明確地指定要在其上執行佈建 Exchange 2007 伺服器。 建立管理代理程式] 對話方塊的 [設定擴充程式] 窗格中包含選取 Exchange 版本的下拉式功能表。

如果您選擇 [Exchange 2007 您得到文字方塊中,您可以輸入 Exchange 2007 伺服器的名稱 (請參閱 的 [圖 8])。 這個額外的組態存在的人,例如使用防火牆,而且需要更好地控制網路流量。 離開伺服器名稱空白會導致 Exchange Server找不到指令程式。 請注意指令程式將失敗,錯誤是否 can’t 連絡您指定的伺服器。

 

圖 8 選擇 [使用中的下拉式清單的 Exchange 版本設定延伸

從 Exchange 2003 或 2007年來 2010年升級

如前所述,ILM 2007 FP1 SP1] 和 [FIM 2010 可讓您佈建 Exchange 2010 擁有郵件功能的物件。 因為處理序會使用透過 Windows PowerShell (如稍早在 Exchange 2010 小節的 「 佈建程序概觀 」 討論中記下) 的遠端執行,您必須提供伺服器名稱。 的 圖 9 所示,您可以選取 Exchange 版本的佈建從下拉功能表在右窗格中,按一下 設定擴充程式 左邊上 建立管理代理 對話方塊後。

選取 Exchange 2010 ,並在 [] 文字方塊中出現 (請參閱 的 圖 9),輸入 Exchange 2010 遠端每秒要求 PowerShell (數量) 伺服器的 URI。 請注意您 can’t 將此欄位留白。 這個值應該在格式 http:// < cas 伺服器 > / powershell

 

圖 9 升級從 Exchange 2003/2007 2010年至

Exchange 2007 和升級至 SP1 ILM 2007 FP1

升級為 ILM 2007 FP1 SP1 之後,ILM 2007 FP1 部署中的現有管理代理程式將保持完整功能 — 沒有額外的組態或額外的步驟是必要。 如果有需要,您可能會指定伺服器名稱中 控制哪一個 Exchange Server的 設定擴充程式 更新收件者的 Cmdlet 連絡人,但是這 isn’t 必要。

匯出程序

一旦您正確設定它們的 Exchange 佈建,ILM 2007] 和 [FIM 2010 會連線到 Active Directory 及 Exchange 建立擁有郵件功能物件的匯出期間。 程序的運作以不同的方式為每一個版本的 Exchange 一個位元。

Exchange 2003

對於 Exchange 2003 ILM 2007] 和 [FIM 2010 依賴完成佈建程序的 Exchange 2003 的 「 RUS 」 功能。 匯出,期間 ADMA 連線到可用的網域控制站,並將擁有郵件功能] 物件 (為佈建組態由決定) 加入至目錄。

如稍早提到 RUS 會監看的目錄中的擁有郵件功能物件的變更,並且完成每個物件建立的 ILM 2007and FIM 2010 佈建程序。 並再一次 Exchange 寫入這些物件的每個目錄中,以最小的建立該物件所需的屬性集。 有鑑於此,RUS 對它們套用 Exchange 原則,並將剩餘的必要屬性,讓它們支援完整的 Exchange 功能集。

最後,當前,佈建 Exchange 2003 時 ILM 2007] 和 [FIM 2010 需要只連線到一個 ADDC ; 兩者都不需要直接連線到 Exchange Server。

Exchange 2007

此處的資訊是幾乎相同,所涵蓋的 「 Exchange 2007 」 子區段,在 「 佈建程序概觀,」 下,但為了方便起見,我們重複它為。 Exchange 2007、 ILM 2007 FP1 與 FIM 2010 依賴更新收件者指令程式,才能完成佈建。 匯出,期間 ADMA 連線到可用或慣用的網域控制站,並將擁有郵件功能] 物件 (為佈建組態由決定) 加入至目錄。

在提供擁有郵件功能物件到目錄之後, ILM 2007] 和 [FIM 2010 叫用更新收件者 PowerShell Cmdlet ILM/FIM 伺服器使用命令列上:

Update-Recipient -Identity "<ExportedDN>"-Credential <PSCredential> -DomainController <Fqdn>

位置角度 bracketed 替代符號會取代此清單中所示:

ExportedDN–This is the Distinguished Name of the recently exported object.
PSCredential–This is replaced with a PowerShell Credential object constructed using the domain, username and password configured for the ADMA.
Fqdn–The actual value for this parameter is the fully qualified domain name of the domain controller to which the recently exported object was written.

在另外 ILM 2007 FP1 SP1] 和 [FIM 2010 支援 伺服器參數的更新收件者。 如果已設定 [麻州以伺服器值,ILM 2007 FP1 SP1] 和 [FIM 2010 將會啟動更新收件者 Cmdlet ILM/FIM 伺服器使用命令列上:

Update-Recipient -Identity "<ExportedDN >" -Credential <PSCredential> -
DomainController <Fqdn> -Server <ServerIdParameter>

其中角度 bracketed 預留位置時,取代為與此加法前一個清單所示:

  • ServerIdParameter –The 管理代理程式組態] 對話方塊中輸入伺服器名稱將這個參數的位置。

任何錯誤發生時正在初始化或執行 PowerShell Cmdlet 會設定執行設定檔的結果,並記下應用程式事件日誌中。如需特定錯誤的詳細資訊,請參閱 疑難排解進一步在本文中的一節。

您可以找到完整的詳細資料上 theUpdate 收件者指令程式 Exchange 2007 的 Microsoft TechNet Exchange Server TechCenter 中。

Exchange 2010

如 「 佈建程序概觀,」 為 Exchange 2010 < 「 Exchange 2010 」 > 子節所述 ILM 2007 FP1 SP1] 和 [FIM 2010 依賴更新收件者指令程式,以完成佈建程序。 但是,不同 Exchange 2007 處理程序於這個指令程式直接在伺服器上執行 Exchange 使用 Windows PowerShell 2.0] 和 [遠端執行。

之後佈建到目錄的擁有郵件功能物件,ILM 2007 FP1 SP1] 和 [FIM 2010 都將會從遠端啟動更新收件者指令程式,使用命令列 (與先前討論角括弧中項目的相同的替換) 的 Exchange 2010 伺服器:

          更新-收件者-識別"< ExportedDN >" -DomainController < Fqdn > 

正在開啟遠端連線到 Exchange] 伺服器因此 aren’t 必要命令列上時,會使用 [ADMA 裡設定認證。

任何錯誤發生時正在初始化或執行指令程式將會設定執行設定檔的結果,並將放入應用程式事件日誌。如需特定錯誤的詳細資訊,請參閱疑難排解遵循這一次的區段。

您可以找到完整的詳細資料上 theUpdate 收件者指令程式 Exchange 2010 的 Microsoft TechNet Exchange Server TechCenter 中。

疑難排解

任何錯誤發生時正在初始化或執行 PowerShell Cmdlet 會設定執行設定檔的結果,而且會在應用程式事件日誌中記下。 本章節中,我們會討論最常被所匯出期間發生的錯誤。

常見的錯誤

在這及其他疑難排解範例後方,斜體的文字會顯示一部分或事件記錄檔資料錄期間匯出的錯誤訊息的部分。 可能的原因,可讓的羅馬數字 (非斜體的) 文字遵循錯誤訊息。

訊息:

事件類型:錯誤
Event Source:MIIServer
Event Category:Server (伺服器)
事件識別碼:6801
.
.
.
說明:可延伸的延伸中 MIIS 傳回不支援的錯誤。 堆疊追蹤是:Microsoft.MetadirectoryServices.ExtensionException:ExternalEmailAddress 是強制性上 MailUser.The 郵件連絡人,而且郵件使用者必須具有有效的外部電子郵件地址。 在 Exch2007Extension.Exch2007ExtensionClass.AfterExportEntryToCd....

原因:

這是最常見的錯誤報告匯出期間。 更新收件者指令程式會嘗試郵件啟用具有指定的 DN 物件。 指令程式適用於各種不同的擁有郵件功能物件藉由檢查其屬性。 它會試著,若要將物件轉換為一個 MailUser 到的是最後一個步驟。 具有遺失或無效的郵件屬性的使用者物件通常會傳回這個錯誤,因為更新收件者 wasn’t 能夠將物件轉換成擁有信箱功能的使用者。 當麻州和更新收件者與不同的網域控制站通訊時,也可能會發生這個錯誤。

這些問題的其中一個最有可能是這個錯誤的原因:

  • 您可能會將匯出遺失或無效 homeMDB 值。 確定 homeMDB 值匯出的物件存在,且指向有效的信箱資料庫。
  • 如果您看到此錯誤與 Exchange 2010 而且 homeMDB 正確,msExchHomeServerName 會不可能遺失或無效。 檢查 msExchHomeServerName 值匯出的物件是否存在,而且表示有效的 Exchange Server。
  • 如果您 don’t 擁有 Exchange 2007 管理工具 SP2 或更大的安裝,ILM/FIM 伺服器上,您可能會收到此訊息與 Exchange 2007。 如需詳細資訊,請參閱 的 知識庫文件 963679
  • 您也可能會看到此錯誤與 Exchange 2007 如果 Exchange 2007 管理工具縮合 4 或更大 isn’t 安裝 ILM/FIM 伺服器上。 如需詳細資訊,請參閱 的 知識庫文件 949858

Exchange 2007 和 ILM 2007 FP1 錯誤

訊息:

Event Type: Error
Event Source: MIIServer
Event Category: Server
Event ID: 6801
.
.
.
Description: The extensible extension returned an unsupported error. The stack trace is: 
Microsoft.MetadirectoryServices.ExtensionException:  System.IO.FileNotFoundException: Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified....

起因:

這表示 Exchange 2007 管理工具 aren’t ILM 2007 FP1 伺服器上安裝。 ILM 2007 FP1 嘗試載入更新收件者指令程式,PowerShell 找不到它。

Exchange 2007、 FIM 2010 和 ILM 2007 FP1 SP1 錯誤

訊息:

事件類型:錯誤
Event Source:MIIServer
Event Category:Server (伺服器)
事件識別碼:6801
.
.
.
說明:可延伸的延伸傳回不支援的錯誤。 堆疊追蹤是:Microsoft.MetadirectoryServices.ExtensionException:Windows PowerShell 嵌入式管理單元 Microsoft.Exchange.Management.PowerShell.Admin 不會安裝在電腦上....

起因:

haven’t ILM 2007 FP1 SP1 伺服器上安裝 Exchange 2007 管理工具時,就會出現此訊息。 ILM 2007 FP1 SP1 嘗試載入更新收件者指令程式,PowerShell 找不到它。 Microsoft 對載入處理也就是為什麼,為相同的條件 ILM 2007 FP1 SP1 和 FIM 2010 傳回比 ILM 2007 稍有不同的錯誤進行小幅的變更。

Exchange 2010

訊息:

事件類型:錯誤
Event Source:MIIServer
Event Category:Server (伺服器)
事件識別碼:6801
.
.
.
說明:可延伸的延伸傳回不支援的錯誤。 堆疊追蹤 is:Microsoft.MetadirectoryServices.ExtensionException:無法從組件載入型別 'System.Management.Automation.Runspaces.WSManConnectionInfo' ' System.Management.Automation、 版本 = 1.0.0.0 文化特性中性 PublicKeyToken = =....

起因:

如果 Windows PowerShell 2.0 isn’t ILM 2007 FP1 SP1 伺服器上安裝,收到一則訊息就像這樣。 嘗試載入 ILM 2007 FP1 SP1 從遠端執行更新收件者指令程式,而且 ILM 207 FP1 SP1 無法開啟 PowerShell 工作階段支援遠端執行。

訊息:

事件類型:錯誤
Event Source:MIIServer
Event Category:Server (伺服器)
事件識別碼:6801
說明:可延伸的延伸傳回不支援的錯誤。 堆疊追蹤 is:Microsoft.MetadirectoryServices.ExtensionException:Microsoft.MetadirectoryServices.ExtensionException:無效的 URI:無法判斷 URI 格式....
在 Exch2010Extension.Exch2010ExtensionClass.BeginExportToCd (String connectTo、 String 網域、 String 伺服器、 String 使用者,String 密碼)

起因:

輸入 ILM 2007 FP1 SP1 設定擴充程式] 對話方塊的 CAS 伺服器值是不正確的格式。 正確的格式是 http:// < cas 伺服器 > / powershell

訊息:

Event Category:Server (伺服器)
事件識別碼:6801
說明:可延伸的延伸傳回不支援的錯誤。 堆疊追蹤 is:Microsoft.MetadirectoryServices.ExtensionException:Microsoft.MetadirectoryServices.ExtensionException:連接到遠端伺服器失敗,發生下列錯誤訊息:WinRM 無法處理該要求。 使用 Kerberos 驗證時發生下列錯誤:找不到網路路徑。

原因:

  • 您指定了無效的使用者名稱或密碼。
  • 您使用 Kerberos 而未指定驗證方法或使用者名稱。
  • Kerberos 接受網域使用者名稱,但不是本機的使用者名稱以及您所提供後者。
  • 服務主要名稱輸入遠端電腦名稱和連接埠 doesn’t 存在。
  • 用戶端和遠端電腦位於不同的網域,而且沒有信任有兩個網域之間。

檢查問題只提到後, 再試:

  • 檢查事件檢視器,以與驗證相關的事件
  • 變更驗證方法,並將目的電腦加入至 WinRM TrustedHosts 組態設定,或使用 HTTPS 傳輸

請注意 TrustedHosts 清單中的電腦不可能進行驗證。 關於使用 WinRM 設定的進一步說明,執行命令:winrm 說明組態。 如需詳細資訊請參閱 about_Remote_Troubleshooting 說明主題]。

您看到這個錯誤,如果在您輸入 ILM 2007 FP1 SP1 設定擴充程式] 對話方塊的 CAS 伺服器值不正確,或 haven’t 設定 CAS 伺服器供遠端 PowerShell 執行。 嘗試載入 ILM 2007 FP1 SP1 從遠端執行更新收件者指令程式,而且 ILM 207 FP1 SP1 無法連線到遠端的 PowerShell 工作階段 CAS 伺服器上。

考慮因素

ILM 2007] 和 [FIM 2010

Exchange 佈建是 ILM 2007 及 FIM 2010 及 ADMA 的索引鍵的功能。 以最小組態,您可以輕易地提供至 Exchange 2003 2007年和 2010年擁有郵件功能的物件。 您並需要注意如果 ILM 或 FIM 伺服器和 Exchange 之間存在防火牆,您可能必須執行額外的組態可能不接受您的部署。

比方說 Exchange Server與 [ILM 之間的防火牆實作特別常見的是 Exchange 資源樹系實作中。 這個安裝程式需要使用者登入帳戶] 樹系,並交換伺服器必須裝載在資源樹系 (一個不同的 AD 樹系)。

在這種情況下您通常會實作 ILM 伺服器帳戶樹系中。 因此佈建擁有郵件功能或信箱功能的物件在 Exchange 會要求您開啟防火牆連接埠,除了那些佈建 AD 使用者帳戶所需。

通訊協定及連接埠

ILM 需要遵循佈建至 AD,帳戶表所示的連接埠,但預期到擁有郵件功能的佈建或 AD/Exchange 2007 環境中的擁有信箱功能的使用者物件的額外連接埠。

Exchange 2007

如稍早在發行項中所述,ILM 2007 FP1 會運用更新收件者 PowerShell Cmdlet 完成佈建程序,在 Exchange 2007 中的擁有郵件功能或信箱啟用帳戶 ILM 伺服器上執行的指令程式。 指令程式必須連接到通用類別目錄 (GC) 及 Exchange RUS 伺服器除了連接到 AD 網域控制站。 此案例是進一步因為收件更新-者,ILM 2007 FP1 使用時有 RUS 選擇演算法,但可以最後在環境中選取任何 RUS 伺服器變得複雜。 這需要開啟到 Exchange RUS 的所有伺服器的範圍的 RUS 連接埠。 (請參閱 的 圖 10)。

 

圖 10 Exchange 2007 網站提供一個防火牆與

下表顯示 Exchange 2007 環境中提供郵件或擁有信箱功能帳戶防火牆上開啟所需的連接埠。

到 DC/GC 與 DNS:

 

以 RUS (信箱伺服器):

Exchange 2010

如稍早在發行項中所述,ILM 2007 FP1 會運用更新收件者 PowerShell Cmdlet 完成佈建程序並指令程式執行上 ILM 至或信箱擁有郵件功能帳戶在 Exchange 2010。 此版本 Exchange 中所有的 Cmdlet 會執行從遠端使用 PowerShell ’s 遠端執行功能。 這表示這種情況下所需的連接埠都限於 PowerShell ’s 遠端執行需求,如 圖 11 所示。

 

圖 11 Exchange 2010 網站提供一個防火牆與

這些表格顯示防火牆連接埠必須處於開啟狀態,才能提供郵件-或 Exchange 2010 環境啟用的信箱帳戶。

到 DC/GC 與 DNS:

 

到 CAS (信箱伺服器):

自訂 PowerShell 指令碼

在,我們看看一個 PowerShell 一個位元會尋找使用者的指令碼 aren’t 目前擁有信箱功能,位於指定網域帳戶,信箱-啟用它們。 指令碼需要在 AD 網域控制站上執行,且您可以使用工作排程器來設定將會在執行時。 您可以看到從 的 圖 12,ILM 2007 FP1 仍然可以提供使用者帳戶到 AD 網域控制站,它會運用 PowerShell 指令碼以郵件啟用使用者帳戶。

 

圖 12 Exchange 2007/2010年網站提供手動指令碼

請注意雖然您可以使用這個指令碼來啟用 ILM 所規定的使用者的信箱,指令碼將會運作只與 don’t 包含 homeMDBor mailNickname 屬性的物件。

$domain = "LDAP://" + "DC=Fabrikam,DC=Com"

# Open a connection object to AD
$root = New-Object System.DirectoryServices.DirectoryEntry($domain)

# Create a query object 
$query = new-Object System.DirectoryServices.DirectorySearcher($root) 

# Construct a filter string to retrive all objects which are not mailenabled or mailbox-#enabled
$filter = "(&(objectClass=user)(!(legacyExchangeDN=*)))"

# Define filter in the query object
$query.filter = $filter
    
#Retrive objects which met the filter property
$objects = $query.findAll()


foreach($usr in $objects)
{       
    $properties = $usr.Properties 
    $DN = $properties.distinguishedname[0]
    $dbLoc = "Fabrikam\First Storage group\Mailbox Database"
    Enable-Mailbox -identity $DN -database $dbLoc

    #more informaton on Enable-mailbox here at 
    #https://technet.microsoft.com/enus/library/aa998251(EXCHG.80).aspx
        
}

若要建立沒有 homeMDB 值或 mailNickname 使用者,您可以

  1. 使用指令碼式網站提供:採用管理代理程式連接器屬性代替 ExchangeUtils.CreateMailbox() StartNewConnector() 方法的物件。
  2. 使用 Codeless 網站提供:don’t 在同步處理規則中包含初始屬性流程。

選擇性地,完成佈建,您可以強制執行電子郵件地址原則上的部份或所有 Exchange 組織中物件。 這個簡短的指令碼會強制執行您的組織中的所有物件上的所有電子郵件地址原則:

Get- EmailAddressPolicy | Update-EmailAddressPolicy

不幸的是,這是有代價很高的更新,可能需要花幾分鐘時間取決於您環境的複雜度可以。 您可以使用這個指令碼來代替 (使用特定的電子郵件地址原則識別用於取代 AddressPolicy01) 來強制執行組織中的所有物件上的特定電子郵件地址原則:

Update-EmailAddressPolicy -Identity AddressPolicy01

如果您在提供的 「 通訊群組,其他指令碼就需要更新組織中的通訊錄。 下列指令碼將會更新您組織中的通訊錄:

Get- AddressList | Update-AddressList
Get- GlobalAddressList  | Update-GlobalAddressList

但這,太,是昂貴的更新,再次,可能需要花幾分鐘時間取決於您環境的複雜度可以。 另一個方法您可以使用:

Update-AddressList -Identity "All Contacts\AddressList01"
Update-GlobalAddressList -Identity "My Global Address List"

此指令碼將會更新只是特定通訊錄組織中。 全部 Contacts\AddressList01 所使用之指令碼,替代成您想要更新的通訊錄的身分識別,並以您想要更新全域通訊錄的身分識別取代我全域通訊清單]。

運用 Exchange 2003 伺服器

我們建議使用 ILM 2007 或 FIM 2010 和 Exchange PowerShell 啟用 Exchange 佈建,但組織 ’s 安全性需求可能不允許通過防火牆必要的通訊。 在這種情況下就可以完成 Exchange 佈建使用 Exchange 2003 伺服器。

一個 Exchange 2007 部署您可以執行 Exchange 2003 伺服器連同 Exchange 2007 與 Exchange 2003 伺服器對它所在的網域提供 RUS 功能。 藉由執行這項操作,ILM 2007 和 FIM 2010 可以提供對 Exchange 使用 Exchange 2003 佈建模型。 (請參閱 的 圖 13)。

 

圖 13 Exchange 2007 提供使用 RUS

RUS 會識別,如它在 Exchange 2003 佈建模型中所做的任何擁有郵件功能物件的完整佈建匯出由 ILM] 和 [FIM。 RUS 會讓擁有郵件功能的連絡人和使用者的 Exchange 2007 與 2003年。 它也將會完成佈建為信箱,而且如果 homeMDBpoints 向 Exchange 2003 伺服器 RUS 會佈建 Exchange 2003 信箱。 如果您需要唯一的 Exchange 2003 信箱與擁有郵件功能的使用者和連絡人,假設我們涵蓋的其他方法 won’t 適用於您的部署,您可能會考慮使用 Exchange 2003。

請注意,但是,如果您執行這項操作時,佈建的 Exchange 2007 信箱將不完整。 如果 Exchange 2007 信箱,信箱邁向 homeMDBpoints 將佈建,但是不會包含 Exchange 2007 所需的所有屬性。 您必須使用 Exchange 2007 佈建機制的 Exchange 2007 信箱佈建。 如果您的方案會要求您要佈建 Exchange 2007 信箱,請考慮使用 ILM 或自訂 PowerShell 指令碼。

您可以學習更 Exchange 2003 並在 TechNet 中的 Exchange 2007 共存本文的 「 如何安裝 Exchange 2007 中的現有 Exchange Server 2003 組織 」。

建議

如果環境具有 ILM 2007 FP1 或 FIM 2010,運用它信箱提供,因為它可以不只減少手動管理工作,但可以提升使用者產能而且增強安全性。 如所述,不過,如果您的特定案例需要 Exchange 2007 和 ILM 2007 FP1] 伺服器之間的防火牆您可能需要擴大的功能 ILM 2007 FP1 或 FIM 2010 和 Exchange 2007 的外部處理序。 您可以選擇使用 ILM 2007 FP1 佈建使用者或聯絡物件在 AD,然後運用 PowerShell 指令碼至郵件或啟用信箱 ILM 已佈建的物件。 PowerShell 指令碼可以協助在何處,例如組織 ’s 原則 doesn’t 允許授與服務帳戶 ILM 2007 或 FIM 2010 leverages 的 Exchange 收件者的系統管理員權限的情況下。

* * **Henna Kermani  ** 是在 [識別] 和 [在 Microsoft 安全性部門的開發人員。 她居住在西雅圖,離她貓拒絕移動與她的 1000 英哩。

Aung Oo 是架構設計人員與 「 Microsoft 公用扇形,平民練習。 Aung 居住在 Leesburg,VA 與他的妻子 Mya。

Rob Ward i s' 開發人員在 [識別] 和 [在 Microsoft 安全性部門。  他 loves drizzly 天氣在西北方。

相關的內容