Berichte über OneDrive Speichermetriken mit Powershell (de-de)
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:
Get-SPO -Identity " https://tenant-my.sharepoint.com/personal/user_domain_ de"
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.
- Die Verbindung mit SharePoint eröffnen
Connect -SPOService -Url https://tenant-admin.sharepoint.com
- Die Upns abrufen
$logins=(Get-SPOUser -Site https://tenant-my.sharepoint.com).LoginName
- 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;} }
- Die Eigenschaften der Websiten abrufen und in eine Datei exportieren.
Get-SPOSite -Identity $login | export-csv c:\forPro3.csv -Append
- 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)