SharePoint Online, część pakietu Microsoft 365 dla firm, to potężne narzędzie do współpracy i udostępniania informacji w organizacji. Aby zoptymalizować zarządzanie i dostosować środowisko SharePoint Online do indywidualnych potrzeb, administratorzy często korzystają z PowerShell. W tym artykule zostaną omówione podstawowe komendy PowerShell dla SharePoint Online oraz przedstawimy, w jaki sposób można wykorzystać je do automatyzacji administracji i efektywnego zarządzania zasobami.
Instalacja Modułu SharePoint Online PowerShell
Do rozpocząć pracy z PowerShell w kontekście SharePoint Online, należy najpierw zainstalować odpowiedni moduł i upewnić się, że posiadasz uprawnienia Administratora SharePoint lub Administratora Globalnego w Microsoft 365. Moduł SharePoint Online zainstalujesz za pomocą poniższej komendy:
# Instalacja modułu SharePointOnline
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
Po zainstalowaniu modułu, należy nawiązać połączenie z SharePoint Online:
# Połączenie do SharePointOnline
Connect-SPOService -Url https://yourtenant-admin.sharepoint.com
Koniecznie podczas nawiązywania połączenia z SharePoint Online pamiętaj o podaniu poprawnego adresu url zawierającego -admin po nazwie Twojego tenanta. Adres swojego tenanta możesz uzyskać logując się do Office365 i przechodząc do zakładki SharePoint admin center. W pasku wyszukiwania znajdziesz adres URL, to właśnie szukana przez Ciebie nazwa.
Podstawowe Komendy PowerShell dla SharePoint Online
Zarządzanie Witrynami (Sites)
SharePoint Online to dynamiczna platforma, której fundamentem jest struktura witryn. To nic innego, jak wirtualne obszary pracy, dostosowane do potrzeb projektów, grup ludzi czy też działów w firmie. Witryny stanowią kluczowy element, ułatwiając współpracę, przechowywanie dokumentów i porządkowanie informacji. W praktyce oznacza to, że zespół może wykorzystać witrynę do efektywnej współpracy nad projektem, dzielenia się plikami czy ustalania zadań. Co ważne, witryny są elastyczne, pozwalając dostosować je do konkretnych potrzeb, czy to dla zespołu, czy dla określonego działu w firmie. To wygodne miejsce, które usprawnia organizację i zarządzanie różnymi aspektami działalności firmy.
Poniżej znajdują się podstawowe komendy dotyczące zarządzania witrynami:
# Pobranie listy wszystkich witryn
Get-SPOSite
# Wybranie jednej witryny z listy
Get-SPOSite -Identity https://yourtenant.sharepoint.com/sites/nazwaWitryny
# Wylistowanie wszystkich parametrów witryny
Get-SPOSite -Identity https://yourtenant.sharepoint.com/sites/nazwaWitryny |
FL
Get-SPOSite pozwala na uzyskanie ogólnych danych na temat witryn, takich jak ich nazwa, adres URL, właściciel, czy również informacje dotyczące użycia i dostępności.
Kluczowe Parametry:
- Identity: Pozwala na określenie witryny lub witryn, dla których chcesz uzyskać informacje.
- Detailed: dostarcza bardziej szczegółowych informacji o witrynach, takich jak bieżące wykorzystanie zasobów, średnie wykorzystanie zasobów, poziom zgodności itp.
- Filter: pozwala na filtrowanie witryn na podstawie określonych kryteriów.
- Limit: ogranicza ilość witryn, które zostaną zwrócone.
- IncludePersonalSite: umożliwia uwzględnienie witryn osobistych w wynikach.
- IncludeDetailLog: pozwala na dołączenie szczegółowych logów.
Więcej informacji na temat użycia funkcji Get-SPOSite znajdziesz tutaj: https://learn.microsoft.com/en-us/powershell/module/sharepoint-online/get-sposite?view=sharepoint-ps
# Tworzenie nowej witryny
New-SPOSite -Title "Nowy Witryna" -Url
https://yourtenant.sharepoint.com/sites/nowaWitryna -Owner
user@yourtenant.com -StorageQuota 1024 -Template STS#0
Parametry:
- Title: Określa tytuł dla nowej witryny.
- Url: Określa adres URL dla nowej witryny.
- Owner: Określa właściciela witryny, czyli użytkownika, który będzie miał pełne uprawnienia do zarządzania witryną.
- StorageQuota: Określa limit przestrzeni dyskowej dostępnej dla witryny w megabajtach.
- Template: Określa szablon, na podstawie którego zostanie utworzona witryna. Przykładowe szablony to STS#0 (szablon zespołowy), STS#1 (szablon blogu) itp.
# Usunięcie witryny
Remove-SPOSite -Identity
https://yourtenant.sharepoint.com/sites/nazwaWitryny
Komenda Remove-SPOSite może być przydatna w sytuacji, gdy chcemy pozbyć się witryny z naszego tenanta. Jeżeli usunąłeś swoją witrynę przez przypadek i chciałbyś ją odzyskać mam dla Ciebie dobre wieści. Witryny nie zostają trwale usunięte, w pierwszej kolejności trafiają do kosza, w którym przebywają maksymalnie 93 dni. Po tym czasie witryna zostanie trwale usunięta.
# Wylistowanie usuniętych witryn
Get-SPODeletedSite
Dzięki tej komendzie dowiesz się jakie witryny aktualnie przebywają w koszu.
# Przywrócenie usuniętej witryny
Restore-SPODeletedSite -Identity
https://yourtenant.sharepoint.com/sites/nazwaWitryny
Jeżeli wiesz już jaką witrynę chcesz przywrócić użyj komendy Restore-SPOSiteeDeletedSite wraz z jej pełną nazwą.
Zarządzanie Grupami i Użytkownikami
W środowisku SharePoint Online, kontrola dostępu do witryn przez grupy i użytkowników jest niezwykle istotnym elementem. Komendy związane z zarządzaniem tym dostępem pełnią kluczową rolę w administracji platformą. Dzięki nim administratorzy mogą efektywnie przydzielać uprawnienia, tworzyć grupy robocze i zapewniać, że odpowiedni użytkownicy mają dostęp do konkretnych zasobów na witrynach SharePoint Online. Oto kilka komend pomocnych w tym obszarze:
# Pobranie listy grup posiadających uprawnienia do witryny
Get-SPOSiteGroup -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
Pozwala uzyskać informacje jakie grupy, z jakimi uprawnieniami mają dostęp do witryny.
# Zmiana uprawnień: nadanie uprawnień Full Control grupie Contoso do witryny
Set-SPOSiteGroup -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
-Identity „Contoso” -PermissionLevelsToAdd „Full Control”
# Zmiana uprawnień: odebranie uprawnień Full Control grupie Contoso do witryny
Set-SPOSiteGroup -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
-Identity „Contoso” -PermissionLevelsToRemove „Full Control”
Używając Set-SPOsiteGroup jesteś w stanie zmienić uprawnienia grupy do witryny poprze dodanie nowych lub odebranie wcześniejszych uprawnień.
# Wylistowanie wszystkich użytkowników z dostępem do witryny
Get-SPOUser -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
Get-SPOUser umożliwi Ci sprawdzenie jacy użytkownicy mają dostęp do witryny.
Get-SPOUser -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
Where-Object {$_.IsSiteAdmin -eq $false}
Przy dodatkowym zastosowaniu „Where-Object” możesz rozszerzać to zapytanie np. o warunek czy użytkownik nie jest właścicielem witryny.
# Dodawanie użytkownika do grupy z uprawnieniami do witryny
Add-SPOUser -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
-LoginName user@yourtenant.com -Group "Contoso"
# Usunięcie użytkownika z grupy z uprawnieniami do witryny
Remove-SPOUser -Site https://yourtenant.sharepoint.com/sites/nazwaWitryny
-LoginName user@yourtenant.com -Group "Contoso"
Komendy Add-SPOUser i Remove-SPOUser są szczególnie przydatne przy zarządzaniu środowiskiem produkcyjnym. Dzięki nim możesz zaoszczędzić bardzo dużo czasu np. w przypadku dodania wielu użytkowników do nowoutworzonej grupy dostępowej do witryny. Przy użyciu pętli Foreach i pliku csv z wypisanymi adresami email użytkowników jesteś w stanie zrobić to w kilka sekund. Poniżej przykładowy skrypt:
# Parametry
$siteUrl = "https://yourtenant.sharepoint.com/sites/NazwaWitryny"
$groupName = "Marketing"
$csvPath = "C:\Scieżka\Do\Pliku.csv"
# Pobierz zawartość pliku CSV (kolumna o nagłówku Email)
$userEmails = Import-Csv $csvPath | Select-Object -ExpandProperty Email
# Iteruj przez każdy adres e-mail i dodaj do grupy "Marketing"
foreach ($email in $userEmails)
{
Add-SPOUser -Site $siteUrl -LoginName $email -Group $groupName
Write-Host "Dodano użytkownika $email do grupy $groupName"
}
Automatyzacja Zadań za Pomocą Skryptów PowerShell
Automatyzacja procesów w SharePoint przy użyciu PowerShell stanowi efektywną strategię, umożliwiającą organizacjom zoptymalizowanie operacji, zwiększenie wydajności oraz redukcję błędów ludzkich.
PowerShell umożliwia tworzenie skryptów do automatyzacji czynności takich jak dodawanie, usuwanie czy modyfikowanie witryn, list, bibliotek, a także zarządzanie uprawnieniami użytkowników. Na przykład, możemy użyć skryptu PowerShell do utworzenia nowej witryny, skonfigurowania struktury dokumentów czy przypisania grup uprawnień.
Dodatkowo PowerShell pozwala na automatyzację procesów związanych z migracją danych w SharePoint. Przy użyciu odpowiednich skryptów można przekopiować dane pomiędzy różnymi witrynami, listami czy bibliotekami, co jest szczególnie istotne w przypadku skalowalnych projektów.
Istnieje również możliwość planowania zadań z wykorzystaniem harmonogramów w PowerShell, co pozwala na regularne wykonywanie określonych operacji bez konieczności interakcji użytkownika. Dzięki temu automatyzacja staje się bardziej kompleksowa i eliminuje potrzebę ręcznego monitorowania i uruchamiania procesów.
Należy jednak pamiętać, że przed przystąpieniem do automatyzacji procesów w SharePoint za pomocą PowerShell, istotne jest dokładne zrozumienie struktury platformy oraz skrupulatne przetestowanie skryptów w środowisku testowym. Dodatkowo, warto regularnie aktualizować skrypty w miarę wprowadzania zmian w środowisku SharePoint.
Podsumowanie
PowerShell w SharePoint Online stanowi niezastąpione narzędzie dla administratorów, którzy pragną efektywnie zarządzać swoim środowiskiem. Wprowadzenie do podstawowych komend PowerShell oraz automatyzacja zadań za pomocą skryptów umożliwiają osiągnięcie wyższego poziomu kontroli i efektywności w zarządzaniu witrynami, grupami, użytkownikami oraz zasobami dokumentów. Zachęcam do eksploracji innych komend oraz tworzenia własnych skryptów, by dostosować narzędzie do unikalnych potrzeb organizacji i ułatwić codzienną pracę z SharePoint Online.
Robert Szarras
Specjalista IT