走进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的文档库。

你可能感兴趣的:(走进Sharepoint2013至Sharepoint Online迁移②)