Hi I am using this script to return all documents in a site collection. I have some custom columns in the library but I am unsure how to add them to the script, specifically the internal name. Is there a way to get all column names so that I can put them in the csv ?
#Connect to SPO
Connect-PnPOnline -Url "https://site.sharepoint.com/sites/07/li"
#Store in variable all the document libraries in the site
$DocLibrary = Get-PnPList | Where-Object { $_.BaseTemplate -eq 101 }
$LogFile = "C:\users\$env:USERNAME\Desktop\SPOFolders.csv"
$results = @()
foreach ($DocLib in $DocLibrary) {
#Get list of all folders in the document library
$AllItems = Get-PnPListItem -PageSize 1000 -List $DocLib -Fields "SMTotalFileStreamSize", "Author"
#Loop through each files/folders in the document library for folder size = 0
foreach ($Item in $AllItems) {
# if ((([uint64]$Item["SMTotalFileStreamSize"]) -eq 0)) {
Write-Host "Empty folder:" $Item["FileLeafRef"] -ForegroundColor Yellow
#Creating object to export in .csv file
$results += [pscustomobject][ordered] @{
CreatedDate = [DateTime]$Item["Created_x0020_Date"]
FileName = $Item["FileLeafRef"]
CreatedBy = $Item.FieldValues.Author.LookupValue
ContentType = $Item["ows_ContentType"]
FilePath = $Item["FileRef"]
SizeInMB = ($Item["SMTotalFileStreamSize"] / 1KB).ToString("N")
LastModifiedBy = $Item.FieldValues.Editor.LookupValue
EditorEmail = $Item.FieldValues.Editor.Email
LastModifiedDate = [DateTime]$Item["Modified"]
CaseManager = $Item["Case_x0020_Manager"].Email)
}
}#end of IF statement
}
#}
$results | Export-Csv -Path $LogFile -NoTypeInformation