我们正在重组我们的SharePoint环境,并且我们将迁移到他们自己的网站集。但是,我们需要在执行此操作时保留对象的GUID,因此我们将使用Microsoft.SharePoint.Deployment
选项。
我遇到的麻烦是,使用它不会允许我将导出的网页导入新网站集的根目录。它保留子网路径
例如,如果我导出这样的网页
Export-SPWeb "http://sharepoint.domain.com/sites/site1/example" -Path c:\export\example.cmp
然后使用以下脚本
导入它$siteURL = "http://sharepoint.domain.com/sites/site2/"
$fileLocation = "c:\export"
$fileName = "example.cmp"
[void][System.Reflection.Assembly]::load("Microsoft.Sharepoint, version=12.0.0.0, culture=neutral, publickeytoken=71e9bce111e9429c")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Deployment")
# settings
$settings = new-object Microsoft.SharePoint.Deployment.SPImportSettings
$settings.SiteUrl = $siteURL
$settings.WebUrl = $siteURL
$settings.FileLocation = $fileLocation
$settings.FileCompression = $true
$settings.RetainObjectIdentity = $true
$settings.UserInfoDateTime = [Microsoft.SharePoint.Deployment.SPImportUserInfoDateTimeOption]::ImportAll
$settings.BaseFileName = $fileName
$import = new-object Microsoft.SharePoint.Deployment.SPImport($settings)
$import.Run()
意图是 example.cmp 将恢复为http://sharepoint.domain.com/sites/site2/
作为根网站,但这会恢复为http://sharepoint.domain.com/sites/site2/example
有谁知道如何让它恢复到root?我无法使用Import-SPWeb
执行此操作,因为我需要保留GUID。
答案 0 :(得分:0)
在对此进行进一步研究之后,由于我们尝试迁移到自己的网站集的网站已启用发布,因此无论如何都需要以这种方式完成。
https://support.microsoft.com/en-in/kb/968483
Microsoft Office SharePoint Server 2007/2010/2013不支持 子网站迁移到根站点或根站点到子站点 打开发布功能的网站集。
我猜测Deployment API正在考虑使用此限制。
作为参考,这是我们需要遵循的解决方案。
使用发布功能时的有效迁移方案是 以下内容:
- 从根网站开始导出网站集,然后将其作为根网站导入新网站集
- 导出网站集的子网站,然后将它们作为子网站导入到具有“发布”的现有网站集中 已启用功能