使用Powershell PnP复制/迁移SharePoint列表项版本历史记录

时间:2018-10-30 23:58:57

标签: powershell sharepoint-online

在PowerShell中使用PnP模块可以将具有所有版本历史记录的列表项复制到另一个站点,或者可以将列表项的版本历史记录集合附加到另一个列表项中?

我设法找到一种方法,可以使用Add-PnPListItem将列表项从一个站点复制到另一个站点。下面的代码确实获取了源站点中每个列表项的版本历史记录集合。我无法确定是否可以添加列表项,然后将版本历史记录集合添加到该列表项。理想情况下,我想要做的是先将列表项复制到目标站点(我可以这样做),然后使用下面示例中的$versionColl对象将其附加到已添加到新列表项的列表项中现场。或者,在我手动复制项目后,找到一种方法将旧版本的历史记录手动添加到新站点。

$items = Get-PnPListItem -List $lib 
$ctx = Get-PnpContext

foreach($item in $items) {
    $versionColl=$item.Versions;
    $ctx.Load($versionColl);
    $ctx.ExecuteQuery();   
    foreach($version in $versionColl)
    {
        if($version.IsCurrentVersion)
        {
            Write-Host "   "$item["Title"] "- Current Version:"$version.VersionLabel"version id:"$version.VersionId "created:"$version.Created
        }
        else {
            Write-Host "   "$item["Title"] "- Old Version:"$version.VersionLabel"version id:"$version.VersionId "created:"$version.Created 
        }
    }     
}

0 个答案:

没有答案