Tägliche SharePoint-Daten extrahieren

445
murali kuruva

Ich möchte meine SharePoint-Dokumentbibliotheksdaten täglich exportieren, und die csv-Datei muss als Namenskonvention als Dataname_yyyyMMdd gespeichert werden. Gemäß meinem folgenden Skript müssen Daten aus der Sharepoint-Bibliothek in eine CSV-Datei mit dem Namen Data_yyyyMMdd exportiert werden. Dann müssen die Daten aus Data_yyyyMMdd importiert werden, der Datei wird "header" hinzugefügt und anschließend in den neuen endgültigen CSV-Ausgabedatename "DataName_yyyyMMdd" exportiert.

Beim Ausführen des Skripts erhalte ich nur eine Datei als Data_yyyyMMdd. Die Daten aus der Datei wurden nicht in die endgültige CSV-Datei importiert und generierten nicht die endgültige Ausgabedatei DataName_yyyyMMdd. Bitte korrigieren Sie mich, wenn Sie ein falsches Skript ausführen. Bitte teile mir das richtige Skript mit.

Powershell-Skript

$ web = get-spweb $ siteUrl $ caseLib = $ web.lists | Dabei ist {$ _. title -eq $ listTitle} $ query = neues Objekt Microsoft.SharePoint.SPQuery $ query.ViewFields = "" $ query.RowLimit = 5000

tun

$ ListName1 = "Data" $ ExportFolder1 = "C: \ Users \" $ ExportName1 = Get-Date -f "yyyyMMdd" $ ExportPath1 = $ ExportFolder1 + $ ListName1 + $ ExportName1 + ".csv" $ ListName = "Datenname_" $ ExportFolder = "C: \ Users \ csv \" $ ExportName = Get-Date -f "yyyyMMdd" $ ExportPath = $ ExportFolder + $ ListName + $ ExportName + ".csv" {$ caseLibItems = $ caseLib.GetItems ($ query) $ query.ListItemCollectionPosition = $ caseLibItems.ListItemCollectionPosition $ listItemsTotal = $ caseLibItems.Count $ x = 0 für ($ 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} else {$ str = $ caseLibItems [$ x] [" LinkFilename "]. ToString ( )}

Write-Output $ str | Out-File $ ExportPath1 -Append
}

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

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

Write-Host "Beenden"

0

1 Antwort auf die Frage

0
user2706120

Exportieren Sie SharePoint-Listendaten nach CSV

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

Holen Sie sich das Web

$ web = Get-SPWeb -identity "Site-Name"

Holen Sie sich die Zielliste

$ list = $ web.Lists ["Protokoll des monatlichen Zeitplans"]

Ergebnis-Array - PSObjects

$ ListItemCollection = @ ()

#Alle Listenelemente anzeigen, bei denen der Status "in Bearbeitung" ist $ list.Items | Where-Object {$ ["Status"] -eq "In Bearbeitung"} | foreach {$ ExportItem = Neues Objekt PSObject $ ExportItem | Add-Member -MemberType NoteProperty -Name "Title" -Wert $ ["Title"] $ ExportItem | Add-Member -MemberType NoteProperty -Name "Department" -Wert $ ["Department"] $ ExportItem | Add-Member -MemberType NoteProperty -Name "Status" -Wert $ ["Status"] $ ExportItem | Add-Member -MemberType NoteProperty -Name "Priority" -Wert $ _ ["Priority"]

#Das Objekt mit der Eigenschaft zu einem Array hinzufügen $ ListItemCollection + = $ ExportItem} #Exportiere das Ergebnis Array in die CSV-Datei $ ListItemCollection | Export-CSV "c: \ List.txt" -NoTypeInformation

Entsorgen Sie das Webobjekt

$ web.Dispose ()

Alle Felder Exportieren mit PowerShell

Variablen

$ SiteUrl = "site" $ OutPutFile = "location"

Web- und Benutzerinformationsliste abrufen

$ web = Get-SPWeb $ SiteUrl $ UserInfoList = $ Web.SiteUserInfoList Schreibhost "Gesamtzahl der gefundenen Elemente:" $ UserInfoList.Itemcount

Ergebnis-Array - PSObjects

$ ListItemCollection = @ ()

#Alle Listenelemente anzeigen, bei denen der Status "In Bearbeitung" ist $ UserInfoList.Items | foreach #Fügt das Objekt mit der Eigenschaft einem Array $ ListItemCollection + = $ ExportItem hinzu

}

Exportieren Sie das Ergebnis-Array in eine CSV-Datei

$ ListItemCollection | Export-CSV $ OutPutFile -NoTypeInformation Write-Host "Benutzerinformationsliste in $ ($ OutputFile) für Site $ ($ SiteURL) exportiert"

$ web.Dispose ()