每天提取SharePoint数据


0

我想每天导出我的SharePoint文档库数据,并且需要将csv文件另存为Dataname_yyyyMMdd作为命名约定。根据我的下面脚本,它需要将sharepoint库中的数据导出到一个CSV文件中,名称为Data_yyyyMMdd。然后,它需要从Data_yyyyMMdd导入数据并将“header”添加到文件中,然后将其导出为新的最终输出CSV,名称为“DataName_yyyyMMdd”。

在运行脚本时,我只获得一个文件Data_yyyyMMdd。来自文件的数据未导入到最终的csv文件,并且未生成最终输出文件DataName_yyyyMMdd。如果在脚本中出错,请纠正我。请分享我正确的脚本。

Powershell脚本

$ web = get-spweb $ siteUrl $ caseLib = $ web.lists |其中{$ _。title -eq $ listTitle} $ query = new-object Microsoft.SharePoint.SPQuery $ query.ViewFields =“” $ query.RowLimit = 5000

$ ListName1 =“数据” $ ExportFolder1 =“C:\ Users \” $ ExportName1 = Get-Date -f“yyyyMMdd” $ ExportPath1 = $ ExportFolder1 + $ ListName1 + $ ExportName1 +“。csv” $ ListName =“Dataname_” $ ExportFolder =“C:\ Users \ csv \” $ ExportName = Get-Date -f“yyyyMMdd” $ ExportPath = $ ExportFolder + $ ListName + $ ExportName +“。csvv” { $ caseLibItems = $ caseLib.GetItems($查询) $ query.ListItemCollectionPosition = $ caseLibItems.ListItemCollectionPosition $ listItemsTotal = $ caseLibItems.Count $ x = 0 for($ x = 0; $ x -lt $ listItemsTotal; $ x ++) {     $ Description = $ caseLibItems [$ x] [“DocumentSetDescription”]     $ str =“”     if('$ Description'-ne $ null)     {         $ Description = $ Description -replace“ n"," " -replace " r“,”“         $ str = $ caseLibItems [$ x] [“LinkFilename”]。ToString()+'}'+ $ Description     }     其他     {         $ str = $ caseLibItems [$ x] [“LinkFilename”]。ToString()     }

写输出$ str | Out-File $ ExportPath1 -Append
}

} while($ query.ListItemCollectionPosition -ne $ null)

Import-csv $ ExportPath1 -delimiter“}” - Header“Number”,“Description”| export-csv $ ExportPath -NoTypeInformation

写主机“退出”

Answers:


0

将SharePoint列表数据导出为CSV

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

获取网络

$ web = Get-SPWeb -identity“sitename”

获取目标列表

$ list = $ web.Lists [“每月日程安排日志”]

要保存结果的数组 - PSObjects

$ ListItemCollection = @()

#Get All Status列出状态为“进行中”的项目  $ list.Items | Where-Object {$ [“状态”] -eq“进行中”} | foreach {  $ ExportItem = New-Object PSObject  $ ExportItem | Add-Member -MemberType NoteProperty -name“Title”-value $ [“标题”]  $ ExportItem | Add-Member -MemberType NoteProperty -Name“Department”-value $ [“部门”]  $ ExportItem | Add-Member -MemberType NoteProperty -name“Status”-value $ [“状态”]  $ ExportItem | Add-Member -MemberType NoteProperty -name“Priority”-value $ _ [“Priority”]

#将具有属性的对象添加到Array  $ ListItemCollection + = $ ExportItem  }  #将结果数组导出到CSV文件  $ ListItemCollection | Export-CSV“c:\ List.txt”-NoTypeInformation

处理Web对象

$ web.Dispose()

所有字段使用PowerShell导出

变量

$ SITEURL = “地盘” $ OutPutFile =“location”

获取Web和用户信息列表

$ web = Get-SPWeb $ SiteUrl $ UserInfoList = $ Web.SiteUserInfoList 写主机“找到的项目总数:”$ UserInfoList.Itemcount

要保存结果的数组 - PSObjects

$ ListItemCollection = @()

#Get All Status列出状态为“进行中”的项目  $ UserInfoList.Items | foreach {  写主机“处理项目ID:”$ _ [“ID”]

$ ExportItem = New-Object PSObject    #Get每个字段    foreach($ $ $ $ 点域)     {         $ ExportItem | Add-Member -MemberType NoteProperty -name $ Field.InternalName -value $ [$ Field.InternalName]
}     #将具有属性的对象添加到Array     $ ListItemCollection + = $ ExportItem

}

将结果数组导出为CSV文件

$ ListItemCollection | Export-CSV $ OutPutFile -NoTypeInformation 写主机“用户信息列表导出到$($ OutputURile)for site $($ SiteURL)”

$ web.Dispose()

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.