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):

  1. Kaldırmak istediğiniz kullanıcının bulunduğu SharePoint Online alt sitesine gidin.
  2. “Ayarlar” dişli simgesine tıklayın ve “Site İzinleri”ni seçin >> “Gelişmiş İzin Ayarları” bağlantısına tıklayın.
  3. “Site Ayarları” sayfasında “Kullanıcılar ve İzinler” bölümünün altında “Site İzinleri” seçeneğine tıklayın.
  4. “Site İzinleri” sayfasında kaldırmak istediğiniz kullanıcının adına tıklayın.
  5. 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 Çevrimiçi Grupları site kapsamlıdır! Ana siteden, alt siteye ilişkin izinlere sahip bir grubunuz olabilir. Bir kullanıcıyı alt sitedeki gruptan kaldırmak, kullanıcıyı ana siteden de kaldırır!

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.

İlgili makaleler