Forum Discussion
pngit
Apr 28, 2023Copper Contributor
SharePoint storage report in Microsoft 365
Hi, We have reached the allowed SharePoint storage for our tenant. Currently we have two options, pay for additional storage (this is NOT the preferred option) or to remove some unused data. In ...
- Feb 20, 2024
NicolasKheirallah Thanks for your script, it works; however, there are some modifications that need to be done to make it working under PowerShell 7.4 and using two factor authentication:
#Set Variables $SiteURL = "https://your_tenant.sharepoint.com/sites/your_team_site" $LibraryName = "Documents" $ReportOutput = "C:\Temp\getAllFiles.csv" #Please note that on my case, the modules: #Microsoft.Online.SharePoint.Powershell and #Microsoft.Online.SharePoint.Powershell didn't get loaded #automatically, so have to manually import them #This doesn't seems to work with Powershell 7.4 because it seems #that this module is not yet compatible. You will get some warnings #Import-Module Microsoft.Online.SharePoint.Powershell #This will work with Powershell 7.4, I guess it is using version #5.1 for the import Import-Module Microsoft.Online.SharePoint.Powershell -UseWindowsPowerShell Import-Module PnP.PowerShell #Connect to SharePoint Online site. Please note that since I'm #using two factor authentication, Get-Credential won't work, so, #I used the "Connect-PnPOnline" with the "-Interactive" option, #then a Window will popup Connect-PnPOnline -Url $SiteURL -Interactive $FileData = @() #Iterate through all files $ItemCounter = 0 $ListItems = Get-PnPListItem -List $LibraryName -PageSize 500 -Fields Author, Editor, Created, File_x0020_Type, File_x0020_Size, Versions Foreach ($Item in $ListItems) { $FileData += New-Object PSObject -Property ([ordered]@{ Name = $Item["FileLeafRef"] Type = $Item.FileSystemObjectType FileType = $Item["File_x0020_Type"] FileSize = [Math]::Round(($Item.FieldValues.File_x0020_Size/1KB),2) RelativeURL = $Item["FileRef"] CreatedByEmail = $Item["Author"].Email CreatedOn = $Item["Created"] Modified = $Item["Modified"] ModifiedByEmail = $Item["Editor"].Email }) } $FileData | Export-Csv -Path $ReportOutput -NoTypeInformation -Delimiter ";"
Thanks for the script.
Best regards
Josef
pngit
Aug 17, 2023Copper Contributor
If you guys are interested, today I've found a possible solution for my problem described above.
https://www.youtube.com/watch?v=2Md9hQ7tRzc
Based on this video, it seems, it will generate the exactly the same information I was looking for. Has someone any experience with Storage Optimizer for Microsoft 365?
https://www.youtube.com/watch?v=2Md9hQ7tRzc
Based on this video, it seems, it will generate the exactly the same information I was looking for. Has someone any experience with Storage Optimizer for Microsoft 365?