Die Lösung unten erfordert nur SharePoint Online-Verwaltungsshell.
 




OneDrive für Unternehmen mit seinen 1TB Speicher bietet mehrere Möglichkeiten für Sie und Ihre Benutzer. Es bietet auch begrenzte Kontrolle über die persönlichen Websites und deren Nutzung.

Eine der Möglichkeiten, einen Bericht über den Einsatz von OneDrive zu bekommen ist Out-of-the-Box-Option, die Sie unter Office 365 Admin Center finden.


Gesamtspeicher verwendet

   




Anzahl der bereitgestellten ODBs


Zögern Sie sich nicht,  das Feedback zu senden, wenn Sie vermuten, dass die Zahlen ungenau sein könnten.



Get-SPOSite



Für "normale" Websitesammlungen ist es möglich, die Speicherplatz abzurufen 
Get-SPOSite | fl
 
oder 
Get-SPOSite | select url, *storage*




Aber die persönliche Urls sind hier nicht aufgelistet. Sie können abgerufen werden eins nach dem anderen:
 



Persönliche Url



Persönliche Urls folgen einen bestimmten Muster, die uns erlaubt, diese zu erstellen solange wir Benutzers "UserPrincipalName" haben:
UPN: ala.makota@arletka.cloudns.org
URL: https://Tenant-My.SharePoint.com/personal/ala_makota_arletka_cloudns_org

UPN:uss1@arletka2.cloudns.org
URL: https://tenant-my.sharepoint.com/personal/uss1_arletka2_cloudns_org

Dies schließt nicht das "untypische" Verhalten, wie wenn Sie umbenennen alle Benutzer und die persönliche Urls nicht aktualisieren oder wenn Sie den Benutzer neu zu erstellen und erhalten Url z.B. mit "1" am Ende https://Tenant-My.SharePoint.com/Personal/uss1_arletka2_cloudns_org1/


Benutzer abrufen


Es gibt mehrere Möglichkeiten, um die Upns von Ihrer Benutzer zu finden:
Get-Msoluser

Get-Mailbox

Es ist auch möglich, dass Sie sogar eine fertige Liste in einer CSV-Datei gespeichert haben. In diesem Fall zögern Sie nicht, die fertige Liste zu verwenden mit Import-Csvt. Wir haben keine solche Datei dabei, also vorbereiten wir jetzt die Liste der Benutzern.
Get-Msoluser wird sicherlich alle Benutzer abrufen, aber das ist genau das Problem - alle Benutzer. Lizenzierte, nicht lizenzierte, Gruppen und Website-Postfächer.
Get-Mailbox mag nichts mit meinen Benutzern zu tun haben, wenn keiner von meiner SharePoint-Benutzer über Exchange Online Lizenz verfügt.

Get-SPOUser-Site https://tenant-my.sharepoint.com ist eine einfache und effiziente Möglichkeit, um alle Benutzer mit erstellten persönlichen Webseiten  abzurufen und ist ausreichend für unseren Zweck.


Die Urls verändern



Es gibt bessere Methoden, um persönlichen Urls abzurufen, als die Methode unten. Aber  alle diese Weisen benutzen CSOM und SharePoint Online-Entwicklungstools und der Ziel dieser Lösung war, die Lösung so einfach und so minimal wie möglich zu machen.

1. Die Verbindung mit SharePoint eröffnen 
Connect-SPOService -Url https://tenant-admin.sharepoint.com

2. Die Upns abrufen
$logins=(Get-SPOUser -Site https://tenant-my.sharepoint.com).LoginName

3. Die Upns in persönliche Urls verwenden
foreach($login in $logins){if($Login.Contains('@')) { $login=$login.Replace('@','_'); $login=$login.Replace('.' , '_' ); $login=$login.Replace('.' , '_' ); $login="https://tenant-my.sharepoint.com/personal/"+$login;} }

4. Die Eigenschaften der Websiten abrufen und in eine Datei exportieren. 
Get-SPOSite -Identity $login | export-csv c:\forPro3.csv -Append

5. Alles insgesamt:
foreach ($login in ((get-spouser -Site https://tenant-my.sharepoint.com).LoginName)){if($Login.Contains('@')) { $login=$login.Replace('@','_'); $login=$login.Replace('.' , '_'); $login=$login.Replace('.' , '_' ); $login="https://tenant-my.sharepoint.com/personal/"+$login; Get-SPOSite -Identity $login | export-csv c:\forPro3.csv -Append} }



Den Bericht anpassen



Sie können auswählen, welche Informationen der Bericht enthalten soll mit Select Cmdlet. Im folgenden Beispiel wurden Urls und alle Speicher-bezogene Attribute abgerufen:
foreach ($login in ((get-spouser -Site https://tenant-my.sharepoint.com).LoginName)){if($Login.Contains('@')) { $login=$login.Replace('@','_'); $login=$login.Replace('.' , '_'); $login=$login.Replace('.' , '_' ); $login="https://tenant-my.sharepoint.com/personal/"+$login; Get-SPOSite -Identity $login | select url, *storage* | export-csv c:\forPro3.csv -Append} }



Ende Wirkung


foreach ($login in ((get-spouser -Site https://tenant-my.sharepoint.com).LoginName)){if($Login.Contains('@')) { $login=$login.Replace('@','_'); $login=$login.Replace('.' , '_'); $login=$login.Replace('.' , '_' ); $login="https://tenant-my.sharepoint.com/personal/"+$login; Get-SPOSite -Identity $login | export-csv c:\forPro3.csv -Append} }







foreach ($login in ((get-spouser -Site https://tenant-my.sharepoint.com).LoginName)){if($Login.Contains('@')) { $login=$login.Replace('@','_'); $login=$login.Replace('.' , '_'); $login=$login.Replace('.' , '_' ); $login="https://tenant-my.sharepoint.com/personal/"+$login; Get-SPOSite -Identity $login | select url, *storage* |export-csv c:\forPro3.csv -Append} }







Anforderungen



Vor dem Ausführen der oben genannten Cmdlets, bitte installieren Sie SharePoint Online-Verwaltungsshell und führen Connect-SPOService Cmdlet.




Andere Sprachen


Wiki: OneDrive dla Firm: Tworzenie raportu magazynowania przy użyciu Powershell'a (pl-PL)
Wiki: Create OneDrive for Business usage report using Powershell  (en-US)  
Wiki: Créer un rapport sur l'utilisation de l'espace pour OneDrive Enterprise à l'aide des commandes Powershell (fr-fr)