Support online obsługa informatyczna dla Firm już od 1499 zł/ms

Zadzwoń : +48 22 335 28 00 
Angielski Niemiecki

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

BLOG

Zobacz inne nasze artykuły

Bezpłatna wycena ✍️