上傳內部部署內容至 SharePoint Online

這篇逐步指引說明如何使用 SharePoint Online 移轉 PowerShell Cmdlet,將內部部署檔案共用的內容移轉到 Office 365。

SharePoint Online 移轉 PowerShell Cmdlet 專門用來移動內部部署的檔案共用內容。此 Cmdlet 只需要呼叫極少的 CSOM,利用 Azure 的暫存 BLOB 儲存體來配合資料內容大量移轉的需求以調整規模。

以下為使用 SPO 移轉 Powershell 將您的內部部署資料上傳至 SharePoint Online 的步驟:

步驟 1:安裝 SharePoint Online 管理命令介面

步驟 2:設定您的工作目錄

步驟 3:決定您的位置和認證

步驟 4:從內部部署檔案共用建立新的內容套件

步驟 5:轉換內容套件以供您的目標網站使用

步驟 6:提交要匯入的內容

步驟 7:處理及監控 SPO 移轉 (選用)

先決條件

  • 支援的作業系統:Windows 7 Service Pack 1、Windows 8、Windows Server 2008 R2 SP1、Windows Server 2008 Service Pack 2、Windows Server 2012、Windows Server 2012 R2

  • Windows PowerShell 4.0

附註: 權限:您必須是移轉目標的網站集合系統管理員。

開始之前

步驟 1:安裝 SharePoint Online 管理命令介面

第一個步驟是安裝 SharePoint Online 管理命令介面。

  1. 解除安裝所有舊版 SharePoint Online 管理命令介面。

  2. 從這裡安裝:SharePoint Online 管理命令介面

  3. 開啟 [SharePoint Online 管理命令介面],然後選取 [以系統管理員身分執行]。

回到頁首

步驟 2:設定您的工作目錄

在開始移轉程序之前,您需要建立兩個空資料夾以設定工作目錄。這兩個資料夾只包含 XML 檔案,不會佔用大量磁碟空間。

  1. 建立暫存套件資料夾。

  2. 建立最終套件資料夾。

回到頁首

步驟 3:決定您的位置和認證

在此步驟中,您需要識別您的位置和認證,包括來源檔案、目標檔案和 Web 位置的位置。

在您的本機電腦上,開啟 SharePoint Online 管理命令介面。執行下列命令並以您的值取代。

$cred = (Get-Credential admin@contoso.com)

$sourceFiles = '\\fileshare\users\charles'

$sourcePackage = 'C:\migration\CharlesDocumentsPackage_source'

$targetPackage = 'C:\migration\CharlesDocumentsPackage_target'

$targetWeb = 'https://contoso-my.sharepoint.com/personal/charles_contoso_com'

$targetDocLib = 'Documents’

回到頁首

步驟 4:從內部部署檔案共用建立新的內容套件

在本步驟中,請從檔案共用建立新的移轉套件。若要從檔案共用建立內容套件,請使用 New-SPOMigrationPackage 命令讀取來源路徑指定的內容清單,並產生 XML 以執行移轉。

下列參數除非標記為選用,否則皆為必要:

  • SourcefilesPath︰指向您想要移轉的內容

  • OutputPackagePath:指向您的暫存資料夾

  • TargetWebUrl:指向您的目的地網站

  • TargetDocumentLibraryPath︰指向網站內的文件庫

  • IgnoreHidden:跳過隱藏檔案的選項 (選用)

  • ReplaceInvalidCharacters:盡可能修正無效字元 (選用)

範例:

本範例示範如何從檔案共用建立新的套件 (忽略隱藏檔案並取代檔案/資料夾名稱中的不支援字元)。

New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden –ReplaceInvalidCharacters

回到頁首

步驟 5:轉換內容套件以供您的目標網站使用

建立內容套件後,請使用 ConvertTo-SPOMigrationTargetedPackage 命令以轉換您暫存資料夾中產生的 XML 檔案。此命令會將一組新的目標移轉套件中繼資料檔案儲存到目標目錄。這就是最終套件。

附註: 您持有的目標網站集合系統管理員認證,將用來收集資料以連線至資料網站集合。

此命令需要輸入 6 個參數 (其他則為選用):

  • ParallelImport:指示工具使用平行執行緒來最佳化成效。

  • SourceFiles:指向套件之來源內容檔案存在的目錄位置

  • SourcePackagePath:指向您的暫存套件資料夾

  • OutputPackagePath:指向您的最終套件資料夾

  • Credentials:具備目的地網站系統管理員權限的 SPO 認證

  • TargetWebUrl:指向您的目的地網站

  • TargetDocumentLibraryPath︰目的地文件庫的路徑

範例:

本範例示範如何在目標網站集合中查閱資料,以將套件轉換為目標套件。它使用 ParallelImport 參數提高檔案共用移轉效能。

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib

回到頁首

步驟 6:提交要匯入的內容

在本步驟中,Invoke-SPOMigrationEncryptUploadSubmit 命令會在目標網站集合中建立新的移轉工作,並傳回代表 JobID 的 GUID。此命令會為每一項工作將加密的來源檔案與資訊清單上傳到暫存的 Azure Blob 儲存體中。

此命令需要輸入 4 個參數 (其他則為選用):

  • TargetwebURL:指向目的地網站

  • SourceFilesPath:指向要匯入的檔案

  • SourcePackagePath:指向要匯入檔案的最終資訊清單

  • Credentials:具備目的地網站之網站集合系統管理員權限的 SharePoint Online 認證

範例 1:

本範例示範如何提交套件資料來建立新的移轉工作。

$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $spoPackagePath -Credentials $cred -TargetWebUrl $targetWebUrl

範例 2:

本範例示範如何提交套件資料來為平行匯入建立新的移轉工作。

$jobs = $finalPackages | % {Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $_.FilesDirectory.FullName -SourcePackagePath $_.PackageDirectory.FullName -Credentials $cred -TargetWebUrl $targetWeb}

針對每個提交的工作,Invoke Cmdlet 會隨著工作傳回這些屬性:

  • JobId:SPO 中的工作識別碼

  • ReportingQueueUri:儲存移轉之即時進度訊息的 SPO Azure 佇列。

  • Encryption:將內容上傳到 Azure 期間使用的加密金鑰和方法。這在解密佇列訊息和匯入記錄時是必要的項目。

如果您使用自己的 Azure 儲存體帳戶,請使用 Set-SPOMigrationPackageAzureSourceSubmit-SPOMigrationJob 將內容上傳至您的儲存體中。

回到頁首

(選用) 步驟 7:處理及監控 SPO 移轉

提交工作後,只有 Azure 和 SPO 會互動以擷取並移轉內容至目的地。此程序屬於計時器工作,也就是先到者先處理的佇列形式。同一位人員仍然可以再將其他工作排入佇列。

如果目前沒有其他工作正在執行,則可能會有 1 分鐘的延遲。

查看工作狀態

您可以使用步驟 6 中傳回的 Encryption.EncryptionKey,檢視張貼在 Azure 儲存體帳戶佇列中的即時更新資訊,以查看工作狀態。

檢視記錄檔

如果您使用自己的 Azure 儲存體帳戶,可以查詢 Azure 儲存體中的資訊清單容器,以檢視所有已發生事件的記錄檔。在此階段,如果您不想留在 Azure 中做為備份,現在可以放心刪除這些容器。

如果發生錯誤或警告,系統會在資訊清單容器中建立 .err.wrn 檔案。

如果您使用步驟 6 中由 Invoke-SPOMigrationEncryptUploadSubmit 建立的暫存 Azure 儲存體,則能以 “Event” 值 “JobLogFileCreate” 解密 Azure 佇列訊息,以取得匯入記錄檔的 SAS URL。使用匯入記錄檔的 SAS URL,您就能下載記錄檔,並以步驟 6 傳回的同一個加密金鑰解密。

回到頁首

撰寫案例指令碼以供重複使用

以下是您可使用的範例指令碼,其中包含從判斷位置和認證到提交您的套件資料以建立新移轉工作的完整步驟。

    
    

$userName = "admin@contoso.onmicrosoft.com"

$sourceFiles = "d:\data\documents"

$packagePath = "d:\data\documentPackage"

$spoPackagePath = "d:\data\documentPackageForSPO"

$targetWebUrl = "https://contoso.sharepoint.com/sites/finance"

$targetLibrary = "Documents"

$cred = Get-Credential $userName

New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $packagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -IgnoreHidden -ReplaceInvalidCharacters

# 在目標網站集合中查閱資料,以將套件轉換為目標套件

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $packagePath -OutputPackagePath $spoPackagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -Credentials $cred

# 提交套件資料以建立新的移轉工作

$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $spoPackagePath -Credentials $cred -TargetWebUrl $targetWebUrl

本範例顯示如何取得工作傳回的資訊,這會以 GUID 的形式出現。

$job = $jobs[0]

$job.JobId

Guid
----
779c4b3b-ec24-4705-bb58-c38f4329418c

本範例顯示如何取得 $job.ReportingQueueURi.AbosoluteUri。

# To obtain the $job.ReportingQueueUri.AbsoluteUri

https://spodm1bn1m013pr.queue.core.windows.net/953pq20161005-f84b9e51038b4139a179f973e95a6d6f?sv=2014-02-14&sig=TgoUcrMk1Pz8VzkswQa7owD1n8TvLmCQFZGzyV7WV8M%3D&st=2016-10-04T07%3A00%3A00Z&se=2016-10-26T07%3A00%3A00Z&sp=rap

本範例示範如何取得加密金鑰和傳回範例。

$job.Encryption
EncryptionKey                                       EncryptionMethod

-------------                                             ----------------

{34, 228, 244, 194...}                              AES256CBC

重要: 佇列的所有訊息都經過加密。如果您想要讀取 ReportingQueue,就必須持有 EncryptionKey。

最佳做法與限制

描述

建議

封裝大小

10 到 20 GB

移轉檔案共用時,使用 -ParallelImport 切換參數就能自動將大封裝分割成較小的封裝。

檔案大小

2 GB

目標大小

目標網站應禁止使用者存取,直到移轉完成為止

SharePoint Online 限制

SharePoint Online 和商務用 OneDrive:軟體界限及限制SharePoint Online:軟體界限及限制

Azure 限制

資源

預設/限制

每個儲存空間帳戶的 TB 數

500 TB

單一 Blob 容器、資料表或佇列的大小上限

500 TB

每個儲存空間帳戶的 Blob 容器、Blob、檔案共用、資料表、佇列、實體或訊息數目上限

只有 500 TB 的儲存空間帳戶容量上限

單一 Blob 的目標輸送量

每秒最高 60 MB 或每秒最高 500 個要求

相關主題

使用 Windows PowerShell Cmdlet 以進行 SharePoint Online 與 OneDrive 移轉

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×