将旧的Sharepoint列表导出到较新的Sharepoint

时间:2015-11-12 17:36:59

标签: powershell sharepoint-2010 sharepoint-2013

是否可以在2013 Sharepoint Server上导出Sharepoint 2010列表? 我希望能够将2010年站点上的列表中的内容导出到csv文件中,然后使用PowerShell将其导入2013站点上的列表。

运行脚本时,我会收到:

Get-SPWeb : Cannot find an SPSite object that contains the following Id or Url:" error.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Get the Web
$web = Get-SPWeb -identity "http://www.test2010.com/site/"

#Get the Target List
$list = $web.Lists["My List"]

#Array to Hold Result - PSObjects
$ListItemCollection = @()

 #Get All List items where Status is "In Progress"
 $list.Items |  Where-Object { $_["ID"] -ge 1} | foreach {
 $ExportItem = New-Object PSObject
 $ExportItem | Add-Member -MemberType NoteProperty -name "Title" -value $_["Title"]
 $ExportItem | Add-Member -MemberType NoteProperty -name "ID" -value $_["ID"]

 #Add the object with property to an Array
 $ListItemCollection += $ExportItem
 }
 #Export the result Array to CSV file
 $ListItemCollection | Export-CSV "c:\ListInfo.csv" -NoTypeInformation                       

#Dispose the web Object
$web.Dispose()

1 个答案:

答案 0 :(得分:0)

Powershell用于与Microsoft.SharePoint.Powershell管理单元进行SharePoint交互的服务器对象模型只能与在同一服务器上运行的SharePoint环境进行交互。也就是说,需要与SharePoint场交互的任何此类Powershell脚本都需要从该场的Web前端服务器执行。

如果您从不属于该SharePoint场的服务器运行Powershell,但仍需要访问该服务器场中的列表,请考虑使用SharePoint的客户端对象模型。由于可以通过.NET代码访问客户端对象模型,因此仍然可以使用Powershell。