OneDrive For Business (OfB) ist eine praktisches Service, welches als persönlicher Cloud-Speicherplatz für Benutzer innerhalb eines Unternehmens verwendet wird. Das, was für Anwender vor einem Jahrzehnt das “Home-Drive” im lokalen Netzwerk war, steht heute mit Office 365 und OfB als zentrale Ablage mit Versionierung und mit Sharing-Funktionalität bereit.
Der persönliche Speicherplatz von bis zu 1TB Out-of-the-Box kommt automatisch mit Office 365 mit. Dieser Cloud-Speicher zählt übrigens nicht zum Storage-Verbrauch der SharePoint Online Websites, sondern ist extra und quasi kostenlos. Weiters brauchen sich Administratoren nicht um OfB zu kümmern, denn die Provisionierung und der Betrieb erfolgt durch den Anbieter Microsoft. OfB in Office 365 ist somit wartungsfrei.
In den vorigen Artikeln haben wir das Service, den SyncClient und das Sharing beschrieben.
In diesem Teil geht es um IT-Administratoren, die herauszufinden wollen, welche Benutzer OfB in Office 365 nutzen und wie viele Daten diese in ihrem OfB gespeichert haben. Wir hatten diese Anfrage und wollten diese möglichst effizient lösen.
Hierzu haben wir keine fertige Lösung gefunden und somit eine eigene gebaut. An dieser Stelle vielen Dank an unseren PowerShell-Guru Christoph Wilfing, der das Script entwickelt hat. Wir haben es etwas verfeinert und auf GitHub bereitgestellt.
Die Voraussetzungen
Das Ziel war, dass Admins die Nutzung von OfB für die Office 365 Benutzer innerhalb ihres Unternehmens (ihres Office 365 Tenants) abfragen und diese Daten weiterverwenden können.
Die Voraussetzung hierfür ist, dass der verwendete Administrator Globale Admin des Office 365 Tenants ist. Dies ist erforderlich, weil nur dieser Admin Zugriffsberechtigungen auf die “personal” SPO Sites der User erhält.
Die Installation der SharePoint Online Management Shell (lauffähig ab PowerShell 3.0) ist erforderlich.
Das Script
Das fertige Script kann von hier angesehen und downgeloadet werden:
https://github.com/tonipohl/office365scripts/blob/master/OfBUsage.ps1
Ganz rasch geht es mit dem Link Download ZIP um alle Scripts im Repository downzuloaden.
Die Konfiguration muss in den Variablen gleich zu Beginn (in den Zeilen 24-33) angepasst werden.
Dies umfasst diesen Bereich:
$AdminURI = "https://<yourtenant>-admin.sharepoint.com"
# Specifies the URL for the personal SPO site
$MySiteUrl = "https://<yourtenant>-my.sharepoint.com"
# Specifies the User account for an Office 365 global admin in your organization
$AdminAccount = '<youradministrator>@<yourtenant>.onmicrosoft.com'
$AdminPass = '<yourpassword>'
# Specifies the location where the list of MySites should be saved
$ResultFile = '.\OfBUsage.csv'
Wie oben beschrieben, ist ein globaler Office 365 Admin Konto erforderlich – und natürlich der “Tenant-Name”. $ResultFile ist dass der Pfad zum File, welches das Ergebnis der Nutzung speichert.
Let it run
Wenn die Konfiguration eingetragen wurde und korrekt ist, kann das Script gestartet werden. Der Screenshot zeigt hierbei den (nach der Authentifizierung) relevanten Teil der Arbeit.
Zuerst werden die Userprofiles im Tenant ermittelt und in einer ArrayList $UserProfileURLList gespeichert. Dies entspricht etwa dem Original-Script aus TechNet: How to display a list of OneDrive for Business site collections und ist Basis für die weiteren Schritte (unsere Weiterentwicklung).
Danach wird diese Liste mit ForEach (das Command “%” ist die Abkürzung dafür und ohne “/” am Ende der URL) durchlaufen mit mit Get-SPOSite abgefragt. Netterweise liefert uns das Cmdlet den Owner und bereits die Anzahl des verwendeten Speicherplatzes in StorageUsageCurrent von SharePoint Online.
Dieses Ergebnis wird in $ofbsitelist gespeichert und, nachdem ein eventuell existierendes File gelöscht wird, in ein CSV File geschrieben.
Wenn alles klappt, wurden die User Profiles angezeigt und danach jene OfB User mit einem existierenden Userprofile-Pfad in die Ergebnisdatei gespeichert. Das Script zeigt den Fortschritt mit laufenden Punkten (.) an und gibt am Ende die Anzahl der User Profile und der provisionierten OfB Sites sowie den Pfad zum Ergebnisfile aus.
Bei wirklich großen Tenants kann das Script schon einige Zeit laufen. Bei einem Test mit rund 30.000 Userprofiles klappte es allerdings auch anstandslos.
Das Ergebnis
Die Ergebnis-Datei sieht dann beispielsweise so aus.
Man sieht in der Spalte URL die Adresse zur jeweiligen OfB Document Library.
In Excel kann man das schon ganz gut verwenden, etwa zum Pivotieren…
Das Pivotieren verrät auf einen Blick, welche Benutzer ihren OfB Speicher am meisten nutzen.
Jene Userprofiles, welche mit 1MB Größe angezeigt werden, haben wahrscheinlich nur OfB provisioniert, nutzen es jedoch nicht. Die SPO-Default Ordner und Files benötigen insgesamt rund 1MB. Diese Benutzer mit ihrem OfB können somit als “nicht genutzt” aussortiert werden.
Hiermit erhält ein IT-Admin einen raschen Überblick, welcher User OfB nutzen und wie groß die dort gespeicherten Daten sind.
Wir hoffen, unsere Artikelserie zu OneDrive For Business liefert relevante Informationen über OfB und hilft, diesen Dienst zu verstehen und zu benutzen!
Viel Spaß mit OfB!
Quicklinks: