走進Sharepoint2013至Sharepoint Online遷移②

首先,我們先來實際操作,遷移本地文件服務器資料至Sharepoint Online


安裝Migration API的安裝先決條件:

.NET4.0  下載地址:

http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

SharePointOnline Management Shell 下載地址:

http://www.microsoft.com/en-us/download/details.aspx?id=35588

Migration API也可以安裝在Windows7等客戶端操作系統,並不一定要安裝在Server操作系統

Migration API遷移時會用到的命令

https://technet.microsoft.com/zh-cn/library/mt143608.aspx

wKiom1ZeuSXiw0xbAABnlpG4ypk062.png

安裝完成Sharepoint Online Mnagement Shell之後,以管理員身份運行

wKiom1ZeuaWBLIwQAABStgsMPVk864.png


首先,第一步,運行命令 Connect-SPOService -Url https://prowz-admin.sharepoint.com ,連接到Sharepoint Online 管理中心 ,並輸入Sharepoint Online管理員賬戶密碼

wKiom1ZeuiLCdSASAADDU9jfPys951.png


如果身份驗證正確後即可進行到下一步操作

wKioL1Zeuu7gZcinAABH1OkO33Y128.png


本次我們是將一個網絡共享裏面的內容遷移過去,記錄網絡共享路徑,並確保具備讀取權限

wKioL1Zeu0Cz48r8AAC8SttddDA356.png


準備兩個文件夾,一個用於存放Migration API第一次轉換的文件,一個用於存放Migration API第二次轉換的Log文件

wKiom1Zeu0ng-YeoAACcR2JNwKY931.png


準備完成後,運行命令 

New-SPOMigrationPackage -SourceFilesPath "\\d-dn792-4\File" -OutputPackagePath"c:\mig\spotemp" -TargetWebUrl "https://prowz.sharepoint.com" -TargetDocumentLibraryPath "Shared Documents"


-SourceFilesPath 指向來源文件服務器路徑 ,後期這個路徑也需要上傳到Azure的容器,最終存放到Sharepoint Online的文檔庫

-OutputPackagePath 文件服務器第一次轉換爲Sharepoint Export所要存放的路徑

-TargetWebUrl 目標要遷移到的Sharepoint Online網站

-TargetDocumentLibraryPath  目標要遷移到的Sharepoint Online文檔庫


wKioL1ZevVjxNVaPAAAn8mUKwyQ471.png

wKiom1ZevPHgkw8kAAA_KnvJqLE328.png

命令執行完成後,打開之前建立的文件夾就可以看到第一次轉換的內容

wKiom1ZevTHzAZJVAAEqe27QYUI353.png

第一次轉換完成後,即產生了文件服務器所特定生成的SharePoint Export元數據文件,我們還需要將這種元數據庫文件轉換爲Sharepoint Online所能支持的文件,即進行第二次轉換,執行命令


ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath "\\d-dn792-4\File" -SourcePackagePath "C:\mig\spotemp" -OutputPackagePath "C:\mig\spomigpack" -TargetWebUrl "https://prowz.sharepoint.com" -TargetDocumentLibraryPath "Shared Documents"  


-SourceFilesPath 指向來源文件服務器路徑 

-SourcePackagePath 指向第一次轉換生成的路徑

-OutputPackagePath 指向要生成的轉換log路徑

-TargetWebUrl 目標要遷移到的Sharepoint Online網站

-TargetDocumentLibraryPath  目標要遷移到的Sharepoint Online文檔庫

wKiom1Zevs_zTk8gAAA5VXAn6ks745.png

wKioL1ZevzeB9rdDAAAzzZ6sP6c909.png

wKiom1ZevtDwitgYAAA8k6eOi3A976.png

腳本執行完成後,打開之前的SPOtemp第一次轉換的路徑,可以看到,文件的修改日期已經變成了最新,是經過Convert之後的,可以被Sharepoint Online所識別的格式了

wKioL1Zev3Hi_HeVAADpiV7LA4M081.png

打開創建的第二個文件夾,可以看到裏面存在一個轉換log,點擊進去可看到轉換過程中所有的詳細步驟

wKioL1Zev4OC7TcWAAKO7KXtRb8864.png


完成了以上工作後,接下來按照之前所說的流程,我們需要把文件源文件,以及最終轉換完成的文件xml元數據,都上傳到Azure Blob的容器中,如果您沒有Azure賬戶,可以參考以下鏈接使用365自帶的Import Services進行操作

http://www.learningsharepoint.com/2015/09/22/step-by-step-migrate-files-to-sharepoint-online-office-365-import-service/


首先去Azure Blob裏面建立一個新的容器,並複製取得容器name,容器key,也可以使用現有的容器


注:Azure賬戶可以不與365是同一個賬戶,只要能夠取得存儲賬戶名以及訪問密鑰即可

wKioL1ZewHjD8fS4AABvXmuvfio212.png

取得完成後運行如下命令,設置一個azurelocations路徑,並且使用加密的方式進行上傳,後期在Sharepoint Online運行job的時候需要調用這個locations路徑

$azurelocations = Set-SPOMigrationPackageAzureSource -SourceFilesPath "C:\file" -SourcePackagePath "C:\Mig\SPOTEMP" -FileContainerName migration-files -PackageContainerName migration-package -AccountName techdays2016 -AccountKey "jPbyzNkB9321wUiKP4uNy9oluygVCwvQD/"

wKiom1ZewcKBXvwFAAAd8ISeDNQ213.png

-SourcePackagePath  指向來源文件服務器路徑上傳到Azure的容器,最終存放到Sharepoint Online的文檔庫

-SourcePackagePath  指向最終轉換完成的路徑,最終存放到Sharepoint Online的文檔庫

-FileContainerName  輸入需要在blob中創建的文件容器名稱

-PackageContainerName 輸入需要在blob中創建的轉換package容器名稱

-AccountName 輸入Azure blob的存儲賬戶名稱

-AccountKey  輸入Azure blob的存儲賬戶訪問密鑰


命令執行成功後,會在Azure blob裏面看到已經創建的容器

wKiom1ZewTXQdWJgAABFsVBpZTQ922.png

點擊容器進去即可看見已經成功上傳的內容

wKioL1Ze5aCwPcCqAABljTdbeuw637.png

wKiom1Ze5TnDkuvTAABLiAyhXzs171.png

將文件內容和元數據成功上傳至Azure容器後,就可以使用命令publish Sharepoint Online運行遷移的Timejob,執行如下命令 

$job = Submit-SPOMigrationJob -TargetWebUrl "https://prowz.sharepoint.com" -MigrationPackageAzureLocations $azurelocations


-TargetWebUrl 爲Web應用程序名稱

-MigrationPackageAzureLocations 指定之前創建容器時的變量


wKiom1Ze5hayluJ5AABENcvdJv0364.png

Job開始之後,可以使用Get-SPOMigrationJobStatus命令來查看Job執行的情況,在Sharepoint Online中這些遷移作業都會被做成不同的queue,等空閒的時候再執行這個queue,通常這個等待時間會很短,一般會在一分鐘左右。

Get-SPOMigrationJobStatus -TargetWebUrl https://prowz.sharepoint.com

當你看見JobState狀態爲Queued的時候說明你的這個遷移Job還沒有執行,還在排列中,等過一陣子也許你會看到process,說明這個Job正在跑

wKioL1Ze6J_SGfllAACZ-bazibk831.png


當你隔一段時間再次運行這條命令的時候

Get-SPOMigrationJobStatus -TargetWebUrl https://prowz.sharepoint.com

發現GetSPOMigrationJobStatus Get不到任何東西的時候就說明你的這個Job已經執行完了,在Sharepoint Online的文檔庫中已經可以看到同步上來的文件,以及文件的修改時間等等詳細信息

wKiom1Ze6I_icz2dAAC0kGkRLuc642.pngwKioL1Zeu0Cz48r8AAC8SttddDA356.png


總結:本小節中,我帶領大家簡單瞭解了一下微軟Office 365所提供的Migration API的基本用法,其實這個API不僅僅是可以通過powershell控制,還可以供ISV進行二次開發的接口,支持通過CSOM去call API進行運行,大體來說 Migration API 是提供給廣大公司及IT工程師一種新的選擇,可以通過這樣一種方式,將本地端的 文件服務器或者Sharepoint Server 2013 遷移至雲端。Migration API遷移文檔時有一個格外需要注意的地方,就是如果Online的文檔庫中已經存在同樣的內容,那麼Migration的時候,API只會執行覆蓋操作。以上就是本章介紹的內容,下一章中我將帶領大家實作如何將本地Sharepoint 2013的文檔庫遷移至Sharepoint Online的文檔庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章