Unumgänglich ist die Anwendung des Storage Metrics um herauszufinden, wieviel Daten sich in welchem Verzeichnis befinden. In diesem Beitrag wird in unterschiedlichen Möglichkeiten erklärt die grossen Dateien ausfindig zu machen. 
Wie findet man alle grossen Dateien im SharePoint Online?
Um grosse Dateien in SharePoint Online zu finden, kann die Seite „Storage Metrics“ verwendet werden.
Navigiere zur SharePoint Online-Websitesammlung und klicke auf Einstellungen > Verwaltung der Websitesammlung > Websiteeinstellungen > Storage Metrics
Auf der Seite Storage Metrics (Speicher Metriken) wird der aktuelle Speicherbedarf der Site angezeigt. Hierzu kann zu jedem Standort- /Ordnerobjekt navigiert werden, um die Speicherstatistik des jeweiligen Objekts abzurufen.
Alternative kann auch die OOTB „File Size“ Spalte in der Dateibibliothek erweitert werden, welche die Dateigrösse der einzelnen Dateien anzeigt. Die Explorer Anzeige hilft ebenfalls.
Anforderung
Finden von allen großen SharePoint Online Dateien auf Site-Collections.
SharePoint Versionen
Anwendbar für SharePoint 2013, SharePoint 2016
Verwende PowerShell zum Abrufen aller großen Dateien einer Websitesammlung
Das Abrufen grosser Dateien durch Navigieren in den einzelnen Ordnern und Verzeichnissen von der oben dargestellten Lösung mit „Storage Metrics“ ist umständlich. Verwende hierzu also das PowerShell, um alle grösseren Dateien in einer SharePoint Online-Websitesammlung abzurufen.
Zeilen welche individuell noch angepasst werden müssen sind hervorgehoben.
#SharePoint CSOM-Assemblies laden:
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Funktion zum Auffinden großer Dateien im Web:
Function Find-SPOLargeFiles([String]$SiteURL, [Microsoft.SharePoint.Client.Folder]$Folder)
{
Write-host -f Yellow "Processing Folder: $($SiteCollURL)$($Folder.ServerRelativeURL)"
Try {
$LargeFileResult = @()
#Alle Dateien aus dem Ordner abrufen:
$FilesColl = $Folder.Files
$Ctx.Load($FilesColl)
$Ctx.ExecuteQuery()
#Durchlaufe jede Datei und überprüfe die Größe:
Foreach($File in $FilesColl)
{
If($File.length -gt 50MB)
{
$FileURL= $SiteCollURL+$File.ServerRelativeURL
$Result = New-Object PSObject
$Result | Add-Member NoteProperty FileName($File.Name)
$Result | Add-Member NoteProperty FileURL($FileURL)
$Result | Add-Member NoteProperty Size-MB([math]::Round($File.Length/1MB))
#Füge das Ergebnis einem Array hinzu.
$LargeFileResult += $Result
Write-host -f Green "Found a File '$($File.Name)' with Size $([math]::Round($File.Length/1MB))MB"
#Exportieren Sie das Ergebnis in eine CSV-Datei:
$LargeFileResult | Export-CSV $ReportOutput -NoTypeInformation -Append
}
}
#Alle Unterordner verarbeiten
$SubFolders = $Folder.Folders
$Ctx.Load($SubFolders)
$Ctx.ExecuteQuery()
Foreach($Folder in $SubFolders)
{
#Formulare“ und versteckte Ordner ausschließen
If( ($Folder.Name -ne "Forms") -and (-Not($Folder.Name.StartsWith("_"))))
{
#Rufe die Funktion rekursiv auf:
Find-SPOLargeFiles -SiteURL $SiteURL -Folder $Folder
}
}
}
Catch {
write-host -f Red "Error Finding Large Files!" $_.Exception.Message
}
}
#Funktion zum Generieren eines Berichts über große Dateien in einer SharePoint Online-Websitesammlung:
Function Get-SPOLargeFilesRpt($SiteURL)
{
#Kontext einrichten
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Credentials
#Webseiten von der angegebenen URL und deren Unterseiten abrufen:
$Web = $Ctx.web
$Ctx.Load($Web)
$Ctx.Load($web.Webs)
$Ctx.executeQuery()
#Rufe die Funktion auf, um große Dateien aus dem Web abzurufen:
Find-SPOLargeFiles -SiteURL $SiteURL -Folder $Web.RootFolder
#Durchlaufe jede Unterseite der aktuellen Website und rufe die Funktion rekursiv auf:
foreach ($Subweb in $web.Webs)
{
#Rufen Sie die Funktion rekursiv auf, um alle Sub-Sites der aktuellen Website zu verarbeiten.
Get-SPOLargeFilesRpt($Subweb.url)
}
}
#Konfigurations Parameter
$SiteCollURL="https://website.sharepoint.ch"
$ReportOutput="C:\SharePoint\Scripts\Report_FindeGrosseDateien.csv"
#Anmeldeinformationen zum Verbinden einrichten:
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Loeschen Sie den Ausgabebericht, falls vorhanden.
if (Test-Path $ReportOutput) { Remove-Item $ReportOutput }
#Rufe die Funktion auf:
Get-SPOLargeFilesRpt $SiteCollURL
Mit diesem Skript erhält man eine Liste mit allen Dateien, die grösser als 50 MB sind, in einer CSV-Dateien werden die Spalten „Dateiname“, „Datei-URL“ und „Grösse in MB“ aufgelistet.
Basierend auf dem kann dann vorgegangen werden, um allenfalls die grossen Dateien zu bereinigen und somit wieder ausreichenden Speicherplatz auf den Servern zu ermöglichen.



