Quantcast
Channel: Office 365 - 繁體中文
Viewing all articles
Browse latest Browse all 2009

Wiki Page: 準備目錄以進行升級

$
0
0

請注意:本頁面將於 2014 年 6 月 30 日移除。請參閱 Office 365 系統管理員入口網站中的訊息中心獲得 Office 365 服務變更相關之最新資訊,包括新功能和為保持服務運行無礙而必須請您採取的行動。


重要

如果您是 Live@edu 的客戶,而且計劃在升級至 Office 365 之後使用 Windows Azure 目錄同步作業工具,才需要本文中的指令碼。

因為目錄同步作業工具將物件從內部部署 Active Directory 對應至雲端時不同於使用 Outlook Live 和 Outlook Live 目錄同步作業 (OLSync),所以我們建立了 Windows PowerShell 指令碼,您可以用來修改雲端物件類型,以符合新的對應。 如果您使用目錄同步作業工具進行同步之前,未執行這些指令碼,則可能會發生錯誤而造成無法同步。

共有兩種指令碼:

  • ReadMode.ps1指令碼會識別 Office 365 中一個組織單位 (OU) 及其子組織單位中需要保持一致的物件。 識別變更後,輸出至 .csv 檔案。 不會對雲端或內部部署目錄進行變更。
  • RemediationMode.ps1指令碼會修改 ReadMode.ps1 指令碼建立的 .csv 檔案中所識別和列出的物件。 指令碼會更新雲端中的物件類型,以符合目錄同步作業工具的需求,並更新內部部署物件的傳統資訊,以保留郵件路由。

了解升級程序中何時使用這些指令碼:

若要下載指令碼,請移至下載雲端目錄準備指令碼頁面。 如需 OLSync 如何同步處理物件的詳細資料,請參閱如何同步處理每個物件

本文內容

指令碼變更的物件
系統需求
用法
疑難排解

指令碼變更的物件

「雲端目錄準備」指令碼會識別和修���三個已經變更對應的區域。

.csv 檔案中使用的縮寫案例執行
userToMailContact屬於內部部署 Active Directory 中的 User 以及 Exchange Online 中的 MailContact 的物件。在 Exchange Online 中,以具備 ExternalEmailAddress 的 User 物件取代 MailContact 物件。
contactToMailUser屬於內部部署 Active Directory 中的 Contact 以及 Exchange Online 中的 MailUser 的物件。在 Exchange Online 中,指令碼會以 Contact 物件取代 User 物件��
groupToMailUser屬於內部部署 Active Directory 中的 Distribution Group 以及 Exchange Online 中的 MailUser 的物件。

在 Exchange Online 中,指令碼會以 Distribution Group 物件取代 User 物件。

至於 Active Directory 中的所有通訊群組成員,指令碼會使用新的 Distribution Group 在 Exchange Online 中設定同等級的成員資格。

如果 Exchange Online 中沒有同等級的群組成員,或者如果無法設定群組成員資格,指令碼會記錄一個警告。

請注意,如果物件是內部部署 Active Directory 的 Distribution Group 或者是 Exchange Online 的 Mail Contact (groupToMailContact),則 RemediationMode.ps1 指令碼不會變更這些物件。 這些狀況很少發生,而且萬一發生,您可以刪除雲端物件。

為了保留郵件路由,會將原始 Exchange 物件的 LegacyExchangeDN 新增為內部部署物件 Proxy 位址的 X500 項目。

系統需求

作業系統:

  • Windows Server 2003/R2 以及更新的版本
  • Windows Server 2008/R2 以及更新的版本

注意:這些作業系統已經過驗證,只適用於英文版。 其他語言可能產生不同的結果,不建議使用。

網域控制站或加入網域的電腦

  • Active Directory

認證:

  • 必須從具備足夠權限可讀取內部部署 Active Directory 使用者帳戶資料的帳戶執行 ReadMode.ps1。 根據預設,所有帳戶都有這個權限。
  • 必須從具備足夠權限可讀取和修改內部部署 Active Directory 使用者帳戶資料的帳戶執行 RemediationMode.ps1。 根據預設,這應該是 Domain Admins 群組中的一個帳戶。

Windows PowerShell

用法

讀取模式指令碼:
ReadMode.ps1

語法

.\ReadMode.ps1 -OutputFileName <字串> -Office365AdminUserName <字串> -LDAP <字串>

參數

參數說明
OutputFileName指定指令碼將建立的輸出 .csv 檔案名稱以及存放檔案的路徑。 如果不指定路徑,檔案會建立在您執行指令碼的資料夾中。
Office365AdminUserName指定有權讀取使用者資料的 Office 365 帳戶使用者名稱。
  • 執行指令碼時,系統會提示您輸入 Office 365 帳戶密碼。
LDAP指定要報告的組織單位 LDAP 路徑並使用以下格式:“LDAP://distinguished_name”。
  • 請為每一個組織單位 (OU) 執行這個指令碼一次。 指定之 OU 底下的所有子組織單位,自動包含在內。
  • 這個參數區分大小寫。
  • 想知道尋找 LDAP 路徑的步驟,請參閱疑難排解

範例

PS C:\DirectoryPreparationScripts> .\ReadMode.ps1 -OutputFileName .\DirectoryPreparation.csv -Office365AdminUserName admin@fineartschool.net -LDAP "LDAP://OU=Students,DC=students,DC=fineartschool,DC=net"

註解

  • 這個指令碼會識別 Office 365 中一個組織單位 (OU) 以及任何需要保持一致的子組織單位的物件。 識別變更後,輸出至 .csv 檔案。 不會對雲端或內部部署目錄進行變更。
  • 每次執行 ReadMode.ps1 指令碼時,除了 .csv 檔案之外,也會在您執行指令碼的資料夾下的 Logs 資料夾中產生記錄。 記錄檔包含以下內容:
    • Active Directory 物件數量
    • Active Directory 郵件物件數量
    • 雲端郵件物件數量 (不包括信箱)
    • 要補救的物件數量
    • 錯誤
  • 這個指令碼每執行 1000 個物件大約需要 10 分鐘。

輸出

請檢閱 .csv 檔案的輸出結果,了解當您執行 RemediationMode.ps1 時將會做的變更。

  • 如果指令碼未遇到任何錯誤,就會在 .csv 檔案中看到以下 4 個資料欄:
    資料欄說明
    PrimarySMTPAddress物件的位址。 例如,Student1@students.contoso.edu。
    案例如同上述「指令碼變更的物件」所述,contactToMailUser、userToMailContact、groupToMailUser 或 groupToMailContact 的其中一個。
    ADObjectGUIDActive Directory 中物件的 GUID。
    CloudObjectGUIDOffice 365 Exchange Online 中物件的 GUID。
  • 如果 .csv 檔案包含這 4 個資料欄,但是沒有資料,您就不需要執行 RemediationMode.ps1 指令碼。
  • 如果在雲端目錄找到名稱重複的物件,.csv 檔案會包含重複項目的清單,而不是可以用於補救模式中的內容。 這份清單是以成對方式編寫,每一對的第一列顯示原始名稱,但沒有 CNF 尾碼 (新物件),而第二列則顯示原始名稱和 CNF 尾碼 (較舊的物件)。

    在這種情況下,您會在 .csv 檔案中看到兩個資料欄:

    資料欄說明
    CollisionObjectGUIDGUID。
    CollisionObjectDistinguishedNameActive Directory 辨別名稱。

    您需要解決這些複寫衝突,然後重新執行指令碼,產生一個 RemediationMode.ps1 可以使用的 .csv 檔案。 如需詳細資訊,請參閱疑難排解

 

補救模式指令碼:
RemediationMode.ps1

語法

.\RemediationMode.ps1 -InputFileName <字串> -Office365AdminUserName <字串>

參數

參數說明
InputFileName指定建立的 .csv 檔案的檔案名稱,也就是 ReadMode.ps1 的輸出。
Office365AdminUserName指定有權修改使用者資料的 Office 365 帳戶使用者名稱。           
  • 執行指令碼時,系統會提示您輸入 Office 365 帳戶密碼。

範例

PS C:\DirectoryPreparationScripts> .\RemediationMode.ps1 -InputFileName “.\DirectoryPreparation.csv” -Office365AdminUserName admin@fineartschool.net

註解

  • 這個指令碼會修改 ReadMode.ps1 指令碼建立的 .csv 檔案中所識別和列出的物件。 指令碼會更新雲端中的物件類型,以符合目錄同步作業工具的需求,並更新內部部署物件的傳統資訊,以保留郵件路由。
  • 請在目前的同步作業工具 (OLMA 或 OlSync) 停用之後,才執行這個指令碼。
  • 這個指令碼必須執行兩次,因為第一次它會產生新的物件。 第二次執行之前,請先等候 20 分鐘,讓 Active Directory 有時間發現任何複寫衝突。
  • 每次執行 Remediation.ps1 指令碼時,會在您執行指令碼的資料夾下的 Logs 資料夾中產生記錄。 如果發生錯誤,可以在記錄檔中找到詳細資料。
  • 這個指令碼所需的執行時間取決於 .csv 檔案中的物件數目以及需要的補救類型。

疑難排解

判斷組織單位的 LDAP 路徑

若要判斷具體組織單元 (OU) 的 LDAP 路徑,以便用於 ReadMode.ps1 指令碼,請完成以下步驟。

  1. 開啟「Active Directory 使用者和電腦」
  2. 在「檢視」功能表,按一下「進階功能」
  3. 在 OU 上按一下滑鼠右鍵,然後選取「內容」
  4. 按一下「屬性編輯器」
  5. 選取「DistinguishedName」
  6. 複製這個值。 將這個值換成 "LDAP://distinguished_name" 中的 distinguished_name,以便用於 ReadMode.ps1 指令碼。
  7. 按一下「取消」,關閉屬性編輯器。

解決複寫衝突

當您執行 ReadMode.ps1 時,如果在雲端目錄發現複寫衝突,.csv 檔案會包含衝突清單,而不是準備用於補救指令碼的輸出。 其中會有一個項目包含原始名稱,但沒有 CNF 尾碼 (新物件),另外還有一個項目包含原始名稱和 CNF 尾碼 (較舊的物件)。

若要修正,您要決定應該從雲端目錄刪除哪些衝突物件:

  • 如果要刪除的物件是含 CNF 尾碼的物件,請將該物件重新命名為暫時名稱,然後刪除它。
  • 如果要刪除的物件是不含 CNF 尾碼的物件,請刪除該物件,然後重新命名剩餘的物件以移除 CNF 尾碼。

若要刪除或重新命名物件,請使用 Exchange Online Cmdlet 配合 Windows Powershell。 針對物件類型使用正確的 Cmdlet。

例如,下表顯示雲端上兩位郵件使用者之間的衝突範例:

CollisionObjectGUID DistinguishedName
d85d6ea1-6b29-491e-9d74-4bcbcfa6b762CN=AnatKerry\0ACNF:d85d6ea1-6b29-491e-9d74-4bcbcfa6b762,OU=www.contoso.edu,OU=Faculty,DC=dc01,DC=dc02,DC=contoso,DC=edu
63b90c18-304a-4ee6-847a-0a7962556f10CN=AnatKerry,OU=www.contoso.edu,OU=Faculty,DC=dc01,DC=02,DC=contosos,DC=edu

如果您決定刪除第二個物件,並重新命名第一個物件以移除 CNF 尾碼,可執行下列 Windows PowerShell 命令:

PS C:\> Remove-MailUser -Identity "63b90c18-304a-4ee6-847a-0a7962556f10"
PS C:\> Set-MailUser -Identity "d85d6ea1-6b29-491e-9d74-4bcbcfa6b762" -Name “AnatKerry”

解決單一帳戶問題

當您執行 RemediationMode.ps1 時,可能會看到單一帳戶造成的錯誤。 若要解決這個單一帳戶問題,請按照下列步驟先完成在補救模式執行指令碼,之後再解決單一帳戶問題。

  1. <ScriptRunningDirectory>\Logs 資料夾仔細檢閱 RemediationMode.ps1 指令碼最新的記錄檔輸出,找出導致錯誤的帳戶。  
  2. 使用「記事本」或 Excel 開啟 ReadMode.ps1 指令碼產生的 .csv 檔案,然後為第一個步驟找到的帳戶移除這一列。
  3. 將 .csv 檔案儲存為原始檔案的複本。
  4. 執行 RemediationMode.ps1 指令碼並加上第三個步驟新建立的 .csv 檔案。

指令碼執行完畢之後,接著執行目錄同步作業工具,可能會發生錯誤,而且錯誤與您從 .csv 檔案移除的帳戶有關。 如需疑難排解的協助,請參閱疑難排解目錄同步作業

其他的疑難排解資訊

如需詳細資訊,請參閱使用 Exchange Online 中的 Windows PowerShellPowerShell Cmdlet 在 Exchange Online 中��用的參考

如有疑問或發生任何問題,請連絡 http://go.microsoft.com/fwlink/p/?LinkId=253140


Viewing all articles
Browse latest Browse all 2009

Trending Articles