從 Exchange 2007 通訊清單分割遷移到 Exchange 2010 通訊錄原則

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

本主題的指示將引導您完成從 Exchange 2007 ACL 全域通訊清單 (GAL) 分割 (也稱為 GAL 分割) 移轉至 Exchange 2010 Service Pack 2 (SP2) 通訊錄原則 (ABP) 所需的步驟。

重要事項重要事項:
本主題中的數個程序將對使用者產生影響。因此,通常需要排定停機時程。

必要條件

  • 雖然這不是指定的必要條件,但仍極力推薦您在執行本主題的程序之前,參閱瞭解通訊錄原則中的考量事項與最佳做法。

  • 本主題的程序假設您已遵循在 Exchange 2007 中設定虛擬組織與通訊清單分割 (英文) 白皮書中的步驟來設定您的 Exchange 2007 組織。

  • 如果您遵循了上述白皮書中的步驟在您的 Exchange 2010 組織中實作 GAL 分割,則您正處於未受支援的狀態。 若要成功執行本主題中的程序,您必須先讓組織回到受支援狀態。

  • 本文件中大部分的程式碼與命令介面範例都是使用 Contoso 作為 Active Directory 網域名稱和 Exchange 組織名稱,並使用 FabrikamTailspin Toys 作為子組織名稱。 請務必變更 Exchange 組織、網域以及子組織的名稱以符合您的設定。

  • 您將需要在 Exchange 2007 中用來分割虛擬組織的指令碼。

設定案例

在此案例中,Tailspin Toys 與 Fabrikam 為母公司 Contoso 的子公司。

步驟 1: 準備在已設定 GAL 分割的現有 Exchange 2007 組織中安裝 Exchange 2010 SP2 (需要停機)

如果您的組織使用 Exchange 2007 GAL 分割,安裝 Exchange 2010 將會失敗,這是因為使用 GAL 分割需要您從預設 GAL 移除所有預設設定和權限。

  1. 在 Exchange 2007 組織的網域控制站上,在命令提示字元執行下列命令以允許存取預設 GAL。

    DSACLS "CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=CONTOSO,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com" /N /G contoso\administrator:RP
    
  2. 在已安裝 Windows PowerShell 的網域控制站,或是使用 Exchange 管理命令介面的 Exchange 伺服器上,執行下列命令以重新設定 GAL 上的預設設定。

    注意事項附註:
    完成這個步驟後,Outlook 2007 使用者將能夠看到預設 GAL。不過,Outlook Web App 使用者無法看到預設 GAL,這是因為 Outlook Web App 使用 QueryBaseDN 屬性查詢 GAL。
    $container = "CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=CONTOSO,CN=Microsoft Exchange,CN=Services, CN=Configuration,DC=contoso,DC=com"Add-ADPermission $container -User "Authenticated Users" -AccessRights GenericRead, ListChildren -ExtendedRights Open-Address-Book
    

    您將會收到下列警告與輸出:

    WARNING: Appropriate ACE is already present on object "CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=CONTOSO,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM" for account "NT AUTHORITY\Authenticated Users"
    Identity             User                 Deny  Inherited Rights
    --------             ----                 ----  --------- ------
    \Default Global A... NT AUTHORITY\Auth... False False     Open-Address-Book
    \Default Global A... NT AUTHORITY\Auth... False False     ReadProperty
    \Default Global A... NT AUTHORITY\Auth... False False     ListObject, Generi...
    \Default Global A... NT AUTHORITY\Auth... False False     ListChildren
    

步驟 2:安裝第一部 Exchange 2010 伺服器

如需詳細指示,請參閱從 Exchange 2007 Client Access 升級

步驟 3:保護預設 GAL 安全

安裝 Exchange 2010 SP2 後,您可以移除在安裝過程中建立的通訊清單,然後再次保護預設 GAL 的安全。 完成這個步驟後,您可以繼續在組織中安裝其他 Exchange 2010 SP2 伺服器。 如需詳細資訊,請參閱瞭解從 Exchange 2007 升級到 Exchange 2010

  1. (選擇性) 在 Exchange 2010 伺服器上,使用命令介面移除新建立的通訊清單。

    Remove-AddressList "All Contacts"
    Remove-AddressList "All Groups"
    Remove-AddressList "All Users"
    Remove-AddressList "Public Folders"
    

    如需詳細資訊,請參閱移除通訊清單

  2. 在 Exchange 2010 伺服器上,根據在 Exchange 2007 中設定虛擬組織與通訊清單分割 (英文) 白皮書的指示使用命令介面保護 GAL 的安全。

    Get-GlobalAddressList "Default Global Address List" | Add-ADPermission -User "Authenticated Users" -AccessRights GenericRead -ExtendedRights Open-Address-Book -Deny:$True
    
  3. 若要確認命令是否成功,請執行下列命令。

    $galContainer = "CN=All Global Address Lists,CN=Address Lists Container,CN=CONTOSO,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com"
    Get-ADPermission $galContainer -user "authenticated users"
    

    此命令的輸出應類似於下列內容:

    Identity             User                 Deny  Inherited Rights
    --------             ----                 ----  --------- ------
    All Global Addres... NT AUTHORITY\Auth... False False     GenericRead
    All Global Addres... NT AUTHORITY\Auth... False False     Open-Address-Book
    All Global Addres... NT AUTHORITY\Auth... False True      ListChildren
    All Global Addres... NT AUTHORITY\Auth... True  True      ReadProperty
    

步驟 4:轉換至 Exchange 2010 伺服器 (需要停機)

將任何信箱移到 Exchange 2010 SP2 伺服器之前,您必須轉換外部 URL 名稱。 這需要將 Outlook 無所不在、Outlook Web App、Exchange Web 服務 (EWS)、Exchange 控制台 (ECP)、自動探索以及離線通訊錄 (OAB) 設定為使用 Exchange 2010 伺服器,而不是使用 Exchange 2007 伺服器。 本流程有許多步驟,您應該參閱 Exchange 2007 - 升級和共存規劃藍圖中的資訊以取得詳細資料。

注意事項附註:
下列步驟僅列出整個流程中的關鍵流程,並說明每個程序完成的目標。 您可能需要在組織中的每個伺服器上執行部分命令 (部分命令僅需執行一次),大多數命令會造成某些時段停機。 因此,極力建議您以足夠時間來測試您整個的轉換程序,確保將對用戶端的影響降到最低。
  1. 使用命令介面將所有 OAB 產生移到 Exchange 2010 信箱伺服器。 將 OAB 產生移到 Exchange 2010 SP2 伺服器可允許 OAB 使用 GAL,不會只是將通訊清單當成 OAB 內容的來源。

    Get-OfflineAddressBook | Move-OfflineAddressBook -Server "MBX01_Ex2010SP2"
    

    如需詳細資訊,請參閱將離線通訊錄產生處理程序移至另一部伺服器

  2. 設定 OAB 的虛擬目錄以加入 Exchange 2010 虛擬組織。這會將 OAB 的複本發佈到 Exchange 2010 伺服器。

    此範例可確保 Exchange 2007 與 Exchange 2010 伺服器具備所有 OAB 的複本。

    Get-OfflineAddressBook | Set-OfflineAddressBook -virtualdirectories "CAS1_Ex2007\OAB (Default Web Site)","CAS1_Ex2010SP2\OAB (Default Web Site)"
    

    如需詳細資訊,請參閱設定離線通訊錄發佈內容

  3. 將任何信箱移到 Exchange 2010 之前,您必須透過 Exchange 2010 路由傳送所有輸入「Outlook 無所不在」流量。

    此範例會在 Exchange 2010 伺服器上啟用「Outlook 無所不在」,在 Exchange 2007 伺服器上則停用。

    Enable-OutlookAnywhere -Server:CAS1_Ex2010SP2 -ExternalHostname:mail.contoso.com -ClientAuthenticationMethod:Basic  
    Disable-OutlookAnywhere  -Server:CAS1_Ex2007
    

    如需詳細資料,請參閱下列主題:

  4. 若要讓自動探索正確地從 Exchange 2010 伺服器傳回 URL,您必須在所有 Exchange 2010 伺服器上設定 Outlook Web App、Exchange ActiveSync、EWS 和 ECP,以具有虛擬目錄的有效外部 URL 內容。

    下列範例假設 mail.contoso.com 是用來存取 Exchange 2010 伺服器的外部名稱。

    Set-ActiveSyncVirtualDirectory -Identity 'CAS1_Ex2010SP2\Microsoft-Server-ActiveSync*' -ExternalURL https://mail.contoso.com/Microsoft-Server-ActiveSync
    Set-WebServicesVirtualDirectory  -Identity 'CAS1_Ex2010SP2\EWS*' -ExternalUrl https://mail.contoso.com/EWS/exchange.asmx
    Set-OWAVirtualDirectory -Identity 'CAS1_Ex2010SP2\OWA*' -ExternalURL https://mail.contoso.com/OWA
    Set-EcpVirtualDirectory -Identity 'CAS1_Ex2010SP2\ECP*' -ExternalURL https://mail.contoso.com/ECP
    

    如需有關如何設定上述設定的詳細資料,請參閱下列主題:

  5. 若要允許 Exchange 2010 為信箱位於 Exchange 2007 伺服器的使用者將 Outlook Web App 與 EWS 要求重新導向回到 Exchange 2007,您需要為 2007 設定 Outlook Web App 與 EWS 外部 URL,以使用 legacy.contoso.com。此命名空間是用來存取 Exchange 2007 伺服器的外部名稱。

    Set-WebServicesVirtualDirectory -Identity 'CAS1_Ex2007\EWS*' -ExternalUrl https://legacy.contoso.com/EWS/exchange.asmx
    Set-OWAVirtualDirectory -Identity 'CAS1_Ex2007\OWA*' -ExternalURL https://legacy.contoso.com/OWA
    
  6. 若要讓 Exchange 2010 代理所有連到 Exchange 2007 的輸入 Exchange ActiveSync 連線,請清除 Exchange ActiveSync 的 2007 外部 URL。

    Set-ActiveSyncVirtualDirectory -Identity 'CAS1_Ex2007\Microsoft-Server-ActiveSync*' -ExternalURL:$null
    
  7. 本流程的最後一個步驟是變更公開 DNS,如此 mail.contoso.com (在我們提供的範例中) 與 autodiscover.contoso.com 就會解析到 Exchange 2010,legacy.contoso.com DNS 記錄則會解析到 Exchange 2007。所有用戶端連線會通過 Exchange 2010,然後 Exchange 2010 會重新導向 (若為 Outlook Web App)、代理 (若為 Exchange ActiveSync),或是透過自動探索提供特定版本 URL (若為 EWS) 給用戶端。

步驟 5:建立鏡像 Exchange 2007 通訊清單分割 ACL 的 ABP

下一步驟是使用 GAL 分割找出通訊清單、GAL 和 OAB 等虛擬組織可存取的內容,然後為每個為其鏡像的虛擬組織建立 ABP。

  1. 如果您使用在 Exchange 2007 中設定虛擬組織與通訊清單分割 (英文) 中的步驟設定您的 Exchange 2007 組織,您已建立分割虛擬組織的指令碼。 檢視您用來在 Exchange 2007 中建立虛擬組織的那些指令碼,判斷每個虛擬組織的 GAL、通訊清單和 OAB。 對於每個虛擬組織,您應該找到一個 GAL、至少一個通訊清單以及一個 OAB。

    注意事項附註:
    ABP 必須有會議室清單。 如果您沒有在組織中使用會議室清單,請建立一個空白的會議室通訊清單,然後在設定 ABP 時使用該通訊清單,或在 ABP 中設定會議室清單內容,以使用您為 GAL 指定的相同通訊清單。

    例如,當檢視用來分割子公司 Tailspin Toys 的指令碼時,就可找到下列資訊:

    • 所有 Tailspin Toys 使用者都包含在名為 Tailspin_SG 的安全性群組中。

    • 安全性群組 Tailspin_SG 授與使用者下列項目的讀取/開啟存取權:

      通訊清單

      GAL

      OAB

      AL_TailspinUsers

      AL_TailspinGroups

      AL_TailspingContacts

      GAL_Tailspin

      OAB_Tailspin

    • Tailspin Toys 沒有會議室通訊清單。

  2. 建立符合 Tailspin Toys 組織的 ABP。

  3. 例如,如果您使用 Exchange 管理主控台來建立 ABP,請在新增通訊錄原則精靈中輸入下列資訊:

    如果您使用命令介面來建立 ABP,請執行以下命令。

    New-AddressBookPolicy -Name 'ABP_Tailspin' -GlobalAddressList '\GAL_Tailspin' -OfflineAddressBook '\OAB_Tailspin' -AllRoomList '\RAL_BLANKROOMS' -AddressLists '\AL_TailspinContacts','\AL_TailspinGroups','\AL_TailspinUsers'
    

    如需詳細資料,請參閱建立通訊錄原則

  4. 針對每一個虛擬組織執行上述指示。例如 Fabrikam。

步驟 6:將信箱從 Exchange 2007 伺服器移到 Exchange 2010 伺服器 (需要停機)

將信箱移到 Exchange 2010 伺服器時,您將會從使用 ACL 轉換為使用 ABP。

注意事項附註:
建議您建立可用一個步驟執行此程序的指令碼。
  1. 使用 MoveRequest Cmdlet 移動信箱。 如需詳細資訊,請參閱建立本機移動要求

  2. 將 ABP 指派給移過去的信箱。 如需詳細資訊,請參閱指派通訊錄原則給信箱使用者 (EPW) (英文)。

  3. 從使用者物件清除 QueryBaseDN。 這可以直接透過 Adsiedit.msc 主控台完成,或是從命令介面使用多重步驟程序完成。本範例顯示如何使用命令介面清除 QueryBaseDN。

    $user = ([ADSI]"LDAP://CN=Bob,CN=Users,DC=Contoso,DC=com").psbase
    $user.Properties["msExchQueryBaseDN"].Value=$null
    $user.CommitChanges()
    
  4. 從信箱移除 OAB 設定。

    本範例從 John 的信箱移除 OAB:

    Set-Mailbox -Identity John -OfflineAddressBook $null
    

移動信箱並設定好其他所有設定後,使用 Outlook 的使用者會收到下列錯誤,而且必須關閉並重新啟動 Outlook: 「Microsoft Exchange 管理員已進行一項變更,您必須先結束再重新啟動 Outlook。」

步驟 7: 後續動作

在您將所有信箱移到 Exchange 2010 SP2,而且所有信箱均在 ABP 上執行並已解除委任 ACL 後,您就可以開始遵循標準 Exchange 指引來移除 Exchange 2007 組織。

移除及修改 Exchange 2007

如何移除 Exchange 2007 組織

如果您在過程中遇到困難,這篇 Microsoft 知識庫文章可派上用場:

如何從電腦移除 Exchange 2007

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。