Poniższe rozwiązanie wymaga jedynie SharePoint Online Management Shell.

 



OneDrive dla Firm oferuje obecnie 1TB pamięci  i wiele opcji dla siebie i Twoich użytkowników. Z wieloma możliwościami powiązana jest również ograniczona kontrola Administratora Globalnego nad witrynami osobistymi i ich wykorzystaniem.

Jedną z możliwości, aby pobrać raport na temat wykorzystania OneDrive jest opcja dostępna w Centrum Administracyjnym usługi Office 365.


Całkowite zużycie pamięci

   




Liczba utworzonych OneDrive dla Firm


Nie wahaj się wysłać swoją opinię, za pomocą przycisku opinii, jeśli podejrzewasz, że liczby te  mogą być niedokładne. 



Get-SPOSite



Dla "regularnych" zbiorów witryn  istnieje możliwość pobierania danych nt. pamięci i magazynowania przy użyciu 

Get-SPOSite | fl
 
lub 

Get-SPOSite | Select url, *Storage*

:




Ale osobiste adresy URL nie są tutaj wymienione. Mogą być pobierane za pomocą metody jeden po drugim.



Adres url witryny osobistej



Osobiste adresy URL układają się w pewien wzór, który pozwala nam odtworzyć je na podstawie nazwy użytkownika:
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

Nie dotyczy to "nietypowych" zachowań, przykładowo gdy po zmianie nazwy wszystkich użytkowników i adresy witryn osobistych nie zostały zaktualizowane lub gdy ponownie utworzono użytkownika i adres url zawiera "1" na końcu np. https://Tenant-my.SharePoint.com/Personal/uss1_arletka2_cloudns_org1/


Pobieranie użytkowników


Istnieje wiele sposobów, aby pobrać UPN użytkowników :
Get-Msoluser
Get-Mailbox
Być może nawet masz gotową listę zapisaną w pliku CSV. W takim przypadku nie zawahaj się jej użyć i zaimportować  gotowy plik za pomocą polecenia import-csvNie mamy takiego pliku, więc potrzebujemy innego sposobu, aby znaleźć użytkowników.
Get-Msoluser pobierze na pewno wszystkich użytkowników, ale to jest dokładnie to, czego nie potrzebujemy - wszystkich użytkowników. Licencjonowanych, nielicencjonowanych, grupy i skrzynek pocztowych witryny.
Get-Mailbox może nie mieć nic wspólnego z moimi użytkownikami, jeśli żaden z moich użytkowników SharePointa nie ma licencji Exchange Online.

 to prosty i efektywny sposób pobierania wszystkich użytkowników z utworzonych witryn osobistych i wystarczający dla naszych celów.


Modyfikowanie adresów URL



Istnieją lepsze sposoby, aby pobrać adresy witryn osobistych niż ten. Ale  wykorzystują one CSOM i SharePoint Online SDK, a celem tego rozwiązania było zachować maksymalną prostotę i minimalizm.

1. Połącz się do usługi

Connect-SPOService -Url https://tenant-admin.sharepoint.com

2. Znajdź identyfikatory logowania:

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

3. Zmień identyfikatory logowania na adresy URL:

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. Pobierz informacje na temat witryny osobistej. Parametr -Append jest używany, aby dołączać informacje na temat witryny osobistej użytkownik po użytkowniku.
Get-SPOSite -Identity $login | export-csv c:\forPro3.csv -Append

5. Wszystko w jednym poleceniu:

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} }



Modyfikowanie raportu



Można wybrać jakie informacje, powinny zostać zawarte w raporcie przy użyciu polecenia SelectW poniższym przykładzie możemy pobrać adresy URL i wszystkie atrybuty związane z magazynowaniem:
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} }



Efekt końcowy


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} }




Wymagania



Przed uruchomieniem powyższych poleceń, należy zainstalować Program SharePoint Online Management Shell i użyć polecenia Connect-SPOService.

Inne Języki


Wiki: Create OneDrive for Business usage report using Powershell  (en-US)
Wiki: Berichte über OneDrive Speichermetriken mit Powershell (de-de)
Wiki: Créer un rapport sur l'utilisation de l'espace pour OneDrive Enterprise à l'aide des commandes Powershell (fr-fr)