Poniższe rozwiązania wymagają jedynie programu SharePoint Online Management Shell.





W artykule opisano kilka scenariuszy, w których usuwani są użytkownicy z  grup w witrynach programu SharePoint, oraz rozwiązania dla każdego scenariusza za pomocą Powershell'a.

Wymagania wstępne


1. Zakładam, że masz zainstalowany program SharePoint Online Management Shell i uruchomiony jako Administrator.
2. Aby połączyć się z usługą SharePoint, użyj następującego polecenia:


Usuń jednego użytkownika z wszystkich grup


$user = "Anita.kowalska@mycompany.com"
 
$groups =Get-SPOSiteGroup -Site $site
 
foreach ($group in $groups){Remove-SPOUser -Site $site -LoginName $user -Group $group.LoginName}

Usuń jednego użytkownika z różnych grup


Definiowanie grup


Najpierw należy zdefiniować, z jakich grup chcemy usunąć użytkownika. Można użyć Where {} :
$groups =Get-SPOSiteGroup -Site $site | where {$_.Title -match "Teams"}

lub można je zaimportować z pliku csv:
 
$groups =import-csv c:\groups.csv

Sprawdź, czy zdefiniowane zostały odpowiednie grupy:
$groups



Usuwanie


I wykonaj resztę poleceń:
$user = "Anita.kowalska@mycompany.com"
  
foreach ($group in $groups){Remove-SPOUser -Site $site -LoginName $user -Group $group.LoginName}


Usuwanie wielu użytkowników z wszystkich grup


Najpierw należy zdefiniować, jakich użytkowników chcesz usunąć. Można je zdefiniować jako tablicę lub zaimportować z pliku csv:
$users =("Anita.kowalska@mycompany.com""Michal.Misiecki@mycompany.com")

$users =(import-csv c:\users.csv).Loginname

$site ="https://MyCompany.Sharepoint.com/sites/site1"
$groups =Get-SPOSiteGroup -Site $site
foreach ()$user in $users) { foreach ($group in $groups){Remove-SPOUser -Site $site -LoginName $user -Group $group.LoginName}}

Można również usunąć użytkowników na podstawie kryteriów, które spełniają, np.
 
$groups =Get-SPOSiteGroup -Site $site
$users =get-spouser -Site $site
 
foreach ()$user in $users) {if($user.LoginName -match "Team"){ foreach ($group in $groups){Remove-SPOUser -Site $site -LoginName $user.loginName -Group $group.LoginName}}}

Usuń wybranych użytkowników z wybranych grup w wielu zbiorach witryn



 
foreach ($site in $sites)
{
$groups =Get-SPOSiteGroup -Site $site | where {$_.Title -match "Teams"}
$users =get-spouser -Site $site
 
foreach ()$user in $users) {if($user.LoginName -match "TeamMember"){ foreach ($group in $groups){Remove-SPOUser -Site$site -LoginName $user.loginName -Group $group.LoginName}}}
 
}