首页 > 解决方案 > Sharepoint - 使用 powershell 将所有数据导出到 csv

问题描述

我正在尝试使用 Thriggle See His Answer Here提供的脚本,但遇到了一些问题。它几乎完美地适用于我正在做的事情——除了——它不会导出创建者、创建日期、修改者和修改日期。

有没有办法将这些字段添加到脚本中?

这是他的脚本:

$url = "$url"
$listName = "$list"
$path ="c:\ColumnsOfList.csv"

$web = Get-SPWeb $url
$list = $web.Lists.TryGetList($listName)
$fields = $list.ContentTypes | %{ $_.FieldLinks } | select Name, DisplayName
$items = @() #array to store objects representing list items
$list.items | %{ 
    $item = $_; 
    $hash = @{}; #hash table to store field name-value pairs
    $fields | %{ $hash[$_.DisplayName] = $item[$_.Name]  }; 
    $items += new-object psobject -Property $hash }
$items | Export-Csv -Path $path

标签: powershellcsvsharepoint

解决方案


你可以试试这个

这是我的测试代码。

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Get the Web
$web = Get-SPWeb -identity "http://sp:12001"

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

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

 #Get All List items where Status is "In Progress"
 $list.Items | foreach {
 $ExportItem = New-Object PSObject
 $ExportItem | Add-Member -MemberType NoteProperty -name "Title" -value $_["Title"]
 $ExportItem | Add-Member -MemberType NoteProperty -Name "OrderDate" -value $_["OrderDate"]
 $ExportItem | Add-Member -MemberType NoteProperty -name "CreatedBy" -value $_["Author"]
 $ExportItem | Add-Member -MemberType NoteProperty -name "Created" -value $_["Created"]

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

#Dispose the web Object
$web.Dispose()

推荐阅读