当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 获取 SharePoint 文档库存报告

作者:精品下载站 日期:2024-12-14 13:56:56 浏览:16 分类:玩电脑

使用 PowerShell 获取 SharePoint 文档库存报告


要求:使用 PowerShell 获取 SharePoint 文档库中的所有文件

除了存储数据之外,此 PowerShell 脚本还会生成有关给定 SharePoint 库库存的详细报告。输出报告包含:

  • 文件名
  • 文件大小(KB)
  • 版本大小(KB)
  • 文件总大小(KB)
  • 创建于
  • 上一次更改
  • 由...制作
  • 父文件夹
  • 网址

[玩转系统] 使用 PowerShell 获取 SharePoint 文档库存报告

使用 PowerShell 的 SharePoint 文档库清单

您的 SharePoint 文档库中是否存储了大量文档,并且想要生成 SharePoint 网站上所有文档的清单? PowerShell 可以提供帮助!这篇博文将向您展示如何使用 PowerShell 创建 SharePoint 文档库中所有文档的清单。这是获取 SharePoint 环境中存储的内容快照的好方法。


Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

# Function to retrieve detailed Library storage Report
Function GetLibraryStorageRpt($Folder)
{
    #Array to hold Storage data for all files
    $StorageDataCollection = @()
    
    $FileSize = 0
    $TotalFileSize = 0
    foreach ($File in $Folder.Files)
    {
        #Get File Size
        $FileSize = $File.TotalLength
        
        $VersionSize = 0
        #Get the Versions Size
        foreach ($FileVersion in $File.Versions)
        {
            $VersionSize +=$FileVersion.Size
        }
        $TotalFileSize = $FileSize + $VersionSize
  
        $StorageDataResult = New-Object PSObject
 
        $StorageDataResult | Add-Member -type NoteProperty -name "File Name" -value $File.Name
        $StorageDataResult | Add-Member -type NoteProperty -name "File Size(KB)" -value $($FileSize/1KB)
        $StorageDataResult | Add-Member -type NoteProperty -name "Versions Size(KB)" -value $($VersionSize/1KB)
        $StorageDataResult | Add-Member -type NoteProperty -name "Total File Size(KB)" -value $($TotalFileSize/1KB)
        $StorageDataResult | Add-Member -type NoteProperty -name "Created on" -value $File.TimeCreated 
        $StorageDataResult | Add-Member -type NoteProperty -name "Last Modified" -value $File.TimeLastModified 
        $StorageDataResult | Add-Member -type NoteProperty -name "Created by" -value $File.Author.Name        
        $StorageDataResult | Add-Member -type NoteProperty -name "Parent Folder" -value $File.ParentFolder.URL
        $StorageDataResult | Add-Member -type NoteProperty -name "URL" -value $File.URL

        $StorageDataCollection += $StorageDataResult
        #Write-Host "Processing File:"$File.Name
    } 
        #Get Files in Sub Folders
        foreach ($SubFolder in $Folder.SubFolders)
        {   
         if($SubFolder.Name -ne "Forms") #Leave "Forms" Folder which has List default Aspx Pages.
             {
                GetLibraryStorageRpt($SubFolder)          
             }
        }   
    return $StorageDataCollection
}

#Input Variables 
$WebURL = "https://sharepoint.crescent.com/sites/operations" 
$ListName ="Documents"

#Get the List
$List = Get-SPWeb $WebURL | Select -ExpandProperty "Lists" | Where-Object{$_.Title -eq $ListName}

#Call the function to get data 
$StorageDetails = GetLibraryStorageRpt($List.RootFolder)

write-host "Total Number of Files:" $List.ItemCount 
write-host "Library Created by:" $List.Author

#Calculate the Total Size
$TotalSize = ($StorageDetails | Measure-Object 'Total File Size(KB)' -Sum | Select -expand Sum)  
Write-host "Library Size in MB: "([Math]::Round( ($TotalSize/1024),2))

#Export the data to CSV File
$StorageDetails | sort-object "Total File Size" -descending | Export-csv "$($ListName)_LibraryStroageRpt.csv" -notypeinformation
Write-Host "Storage Report has been Generated!"

如果要为网站集中的所有文档生成清单报告,请使用:使用 PowerShell 获取网站集的文档清单

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯