Freigeben über


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.

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