SharePoint Online: Webhelydokumentum-leltár (könyvtár, mappa, almappa és fájlok) jelentés a PowerShell használatával
Követelmény: Hozzon létre egy leltárjelentést, amely tartalmazza az összes dokumentumtárat, mappát, almappát és fájlrészletet egy SharePoint Online webhelygyűjteményből.
SharePoint Online: Webhelyleltár jelentés a PowerShell használatával
Létre kell hoznia egy leltári jelentést a SharePoint Online webhely összes dokumentumáról? Nos, ehhez használhatja a PowerShellt! Ebben a blogbejegyzésben bemutatom, hogyan hozhat létre leltári jelentést a webhely összes dokumentumáról PowerShell-szkript segítségével. Valamint az egyes dokumentumokra vonatkozó információk, például a fájl neve, a fájl típusa, az utolsó módosítás dátuma stb.
Meg akartuk találni a fájlok, mappák és almappák számát egy SharePoint Online webhely egyes dokumentumtáraiban. Ez a PowerShell-szkript kibontja az összes dokumentumkönyvtárat, mappát, almappát és fájlt egy adott SharePoint Online-webhelygyűjteményből egy CSV-jelentésbe.
#Function to collect site Inventory
Function Get-PnPSiteInventory
{
[cmdletbinding()]
param([parameter(Mandatory = $true, ValueFromPipeline = $true)] $Web)
#Skip Apps
If($Web.url -notlike "$SiteURL*") { return }
Write-host "Getting Site Inventory from Site '$($Web.URL)'" -f Yellow
#Exclude certain libraries
$ExcludedLists = @("Form Templates", "Preservation Hold Library")
#Get All Document Libraries from the Web
$Lists= Get-PnPProperty -ClientObject $Web -Property Lists
$Lists | Where-Object {$_.BaseType -eq "DocumentLibrary" -and $_.Hidden -eq $false -and $_.Title -notin $ExcludedLists -and $_.ItemCount -gt 0} -PipelineVariable List | ForEach-Object {
#Get Items from List
$global:counter = 0;
$ListItems = Get-PnPListItem -List $_ -PageSize $Pagesize -Fields Author, Created -ScriptBlock `
{ Param($items) $global:counter += $items.Count; Write-Progress -PercentComplete ($global:Counter / ($_.ItemCount) * 100) -Activity "Getting Inventory from '$($_.Title)'" -Status "Processing Items $global:Counter to $($_.ItemCount)";}
Write-Progress -Activity "Completed Retrieving Inventory from Library $($List.Title)" -Completed
#Get Root folder of the List
$Folder = Get-PnPProperty -ClientObject $_ -Property RootFolder
$SiteInventory = @()
#Iterate through each Item and collect data
ForEach($ListItem in $ListItems)
{
#Collect item data
$SiteInventory += New-Object PSObject -Property ([ordered]@{
SiteName = $Web.Title
SiteURL = $Web.URL
LibraryName = $List.Title
ParentFolderURL = $Folder.ServerRelativeURL
Name = $ListItem.FieldValues.FileLeafRef
Type = $ListItem.FileSystemObjectType
ItemRelativeURL = $ListItem.FieldValues.FileRef
CreatedBy = $ListItem.FieldValues.Author.Email
CreatedAt = $ListItem.FieldValues.Created
ModifiedBy = $ListItem.FieldValues.Editor.Email
ModifiedAt = $ListItem.FieldValues.Modified
})
}
#Export the result to CSV file
$SiteInventory | Export-CSV $CSVReport -NoTypeInformation -Append
}
}
#Parameters
$SiteURL = "https://crescent.SharePoint.com/sites/Marketing"
$CSVReport = "C:\Temp\SiteInventory.csv"
$Pagesize = 2000
#Connect to Site collection
Connect-PnPOnline -Url $SiteURL -Interactive
#Delete the Output Report, if exists
If (Test-Path $CSVReport) { Remove-Item $CSVReport }
#Call the Function for all Webs
Get-PnPSubWeb -Recurse -IncludeRootWeb | ForEach-Object { Get-PnPSiteInventory $_ }
Write-host "Site Inventory Report has been Exported to '$CSVReport'" -f Green
A végrehajtás után ez a szkript létrehoz egy CSV-fájlt a következő formátumban:
Ha dokumentumkészlet-jelentést kell létrehoznia egy egyetlen dokumentumtárhoz, használja ezt a szkriptet: SharePoint Online: PowerShell a dokumentumtár összes fájlkészletének listázásához
Összefoglalva, a dokumentumleltár létrehozása a SharePointban időigényes feladat lehet, különösen akkor, ha több dokumentumtárral és több ezer dokumentummal rendelkezik. A PowerShell használatával azonban automatizálhatja a folyamatot, és gyorsan és hatékonyan hozhat létre dokumentumleltárt. Az oktatóanyagban található szkript használatával gyorsan és egyszerűen létrehozhat egy dokumentumleltárt, amely olyan fontos információkat tartalmaz, mint az egyes dokumentumok címe, URL-címe, könyvtár címe, szerzője és létrehozásának dátuma. Ez a leltár különféle célokra használható, például auditálásra, megfelelőségre és jelentéskészítésre.
