SharePoint Online: PowerShell kullanarak Kullanıcıyı Alt Site İzninden Kaldırma
Gereksinim: Bir kullanıcıyı SharePoint Online alt sitesinden kaldırın.
Bir Kullanıcı SharePoint Çevrimiçi Alt Sitesinden nasıl kaldırılır?
Varsayılan olarak, SharePoint Online alt siteleri izinleri üst sitelerinden devralır. SharePoint Online sitelerine erişimi yönetmenin bir parçası olarak, bazen erişimi kısıtlamak veya hassas bilgilere erişimi olan kullanıcı sayısını kontrol etmek için kullanıcıları bir alt siteden kaldırmak gerekebilir.
Bir kullanıcıyı SharePoint Online alt sitesinden kaldırmak için aşağıdakileri yapın:
1. Adım: Kullanıcıyı sitenin doğrudan izinlerinden kaldırın (varsa):
- Kaldırmak istediğiniz kullanıcının bulunduğu SharePoint Online alt sitesine gidin.
- “Ayarlar” dişli simgesine tıklayın ve “Site İzinleri”ni seçin >> “Gelişmiş İzin Ayarları” bağlantısına tıklayın.
- “Site Ayarları” sayfasında “Kullanıcılar ve İzinler” bölümünün altında “Site İzinleri” seçeneğine tıklayın.
- “Site İzinleri” sayfasında kaldırmak istediğiniz kullanıcının adına tıklayın.
Kullanıcının sayfasında “Kullanıcı izinlerini kaldır” düğmesine tıklayın. Kullanıcının kaldırılmasını onaylamanız istenecektir. Kullanıcıyı alt siteden kaldırmak için “Tamam”a tıklayın.
2. Adım: Kullanıcıyı sitedeki tüm gruplardan kaldırın
Benzer şekilde, sitenin her grubunu ayrıntılı olarak incelemeniz ve kullanıcıyı gruptan kaldırmanız gerekir.
Ancak sorun şu: Bir kullanıcıyı siteden kaldırmak için her grubu ve doğrudan izinleri kontrol etmemiz gerekiyor. Öyleyse PowerShell kullanarak SharePoint Online'daki kullanıcı izinlerini kaldıralım!
SharePoint Online: PowerShell kullanarak Kullanıcıyı Alt Site İzninden Kaldırma
PowerShell kullanarak SharePoint Online'daki kullanıcı izinlerini nasıl kaldıracağınız aşağıda açıklanmıştır
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Set parameter values
$SiteURL="https://crescent.sharepoint.com/sites/marketing/2018"
$UserID="salaudeen@crescent.com"
Try {
#Get Credentials to connect
$Cred= Get-Credential
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Get the web
$Web=$Ctx.Web
$Ctx.Load($Web)
$Ctx.ExecuteQuery()
#Frame Login Name
$LoginName = "i:0#.f|membership|"+$UserID
#Get the User to Delete
$User = $Web.SiteUsers.GetByLoginName($LoginName)
$Ctx.ExecuteQuery()
#Remove User from All Groups of the site
$Ctx.Load($User.Groups)
$Ctx.ExecuteQuery()
ForEach($Group in $User.Groups)
{
$Group.Users.RemoveByLoginName($LoginName)
Write-host -f Yellow "`tRemoved User from the Group:" $Group.Title
}
$Ctx.ExecuteQuery()
#Remove the user from direct permissions, if any
$Ctx.Load($Web.RoleAssignments)
$ctx.ExecuteQuery()
ForEach($RoleAssignment in $Web.RoleAssignments)
{
$Ctx.Load($RoleAssignment.Member)
$Ctx.executeQuery()
#Check direct permissions
if($RoleAssignment.Member.PrincipalType -eq "User")
{
#Is the current user is the user we search for?
if($RoleAssignment.Member.LoginName -eq $LoginName)
{
#Remove User from web Permissions
$Web.RoleAssignments.GetByPrincipal($User).DeleteObject()
$Ctx.ExecuteQuery()
Write-host -f Yellow "`tRemoved User from Direct Permissions of the Web!"
}
}
}
Write-Host "User: '$UserID' has been Removed from the site Successfully!" -ForegroundColor Green
}
Catch {
write-host -f Red "Error:" $_.Exception.Message
}
PnP PowerShell, Kullanıcıyı Sitenin Tüm Gruplarından Kaldıracak
Bir kullanıcıyı SharePoint çevrimiçi alt sitesinden kaldırmak için PnP PowerShell'i burada bulabilirsiniz:
#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/retail/archived"
$UserLoginID = "i:0#.f|membership|steve@crescent.com"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Get All Groups of the User
$UserGroups = Get-PnPUser -Identity $UserLoginID | Select -ExpandProperty Groups | Where {$_.Title -notmatch "Limited Access*"}
#Remove User from all Groups
$UserGroups | ForEach-Object {
Remove-PnPGroupMember -LoginName $UserLoginID -Identity $_.Title
Write-host "Removed user from Group:"$_.Title -f Green
}
Bir kullanıcıyı site koleksiyonundan kaldırmak için şunu kullanın: SharePoint Online: PowerShell kullanarak Kullanıcıyı Site Koleksiyonundan Kaldırma
Çözüm:
Sonuç olarak, bir kullanıcıyı SharePoint Online alt sitesinden kaldırmak, kullanıcı arayüzü aracılığıyla veya bir PowerShell betiği kullanılarak yapılabilecek basit bir işlemdir. Yukarıda özetlenen adımlar, kullanıcı arayüzüyle çalışırken veya bir komut dosyası kullanarak, kullanıcıları SharePoint Online alt sitesinden kaldırmak için açık ve takip edilmesi kolay bir kılavuz sağlar. SharePoint Online sitelerinize erişimi kolayca yönetebilme özelliği sayesinde bilgilerinizin güvende olduğundan ve yalnızca ihtiyacı olan kullanıcılar tarafından erişilebilir olduğundan emin olabilirsiniz.

