当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 删除用户的子网站权限

作者:精品下载站 日期:2024-12-14 15:05:33 浏览:12 分类:玩电脑

SharePoint Online:使用 PowerShell 删除用户的子网站权限


要求:从 SharePoint Online 子网站中删除用户。

如何从 SharePoint Online 子网站中删除用户?

默认情况下,SharePoint Online 子网站继承其父网站的权限。作为管理 SharePoint Online 网站访问的一部分,有时可能需要从子网站中删除用户,以限制访问或控制有权访问敏感信息的用户数量。

要从 SharePoint Online 子网站中删除用户,请执行以下操作:

第 1 步:从网站的直接权限中删除用户(如果有):

  1. 转到要删除的用户所在的 SharePoint Online 子网站。
  2. 单击“设置”齿轮图标,然后选择“站点权限”>>单击“高级权限设置”链接。
  3. 在“站点设置”页面的“用户和权限”部分下,单击“站点权限”。
  4. 在“站点权限”页面中,单击要删除的用户的名称。
  5. 在用户页面上,单击“删除用户权限”按钮。系统将提示您确认删除用户。单击“确定”从子站点中删除用户。

    [玩转系统] SharePoint Online:使用 PowerShell 删除用户的子网站权限

第 2 步:从网站上的所有群组中删除用户

同样,您必须深入到站点的每个组并从组中删除用户。

[玩转系统] SharePoint Online:使用 PowerShell 删除用户的子网站权限

但问题是:我们必须检查每个组和直接权限才能从网站中删除用户。因此,让我们使用 PowerShell 删除 SharePoint Online 中的用户权限!

SharePoint Online 组是站点范围的!您可能拥有父站点中具有子站点权限的组。从子站点的组中删除用户也会从父站点中删除该用户!

SharePoint Online:使用 PowerShell 删除用户的子网站权限

以下是如何使用 PowerShell 在 SharePoint Online 中删除用户权限


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
  
#Set parameter values
$SiteURL="https://crescent.sharepoint.com/sites/marketing/2018"
$UserID="[email protected]"
 
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 从站点的所有组中删除用户

以下是用于从 SharePoint 在线子网站中删除用户的 PnP PowerShell:


#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/retail/archived"
$UserLoginID = "i:0#.f|membership|[email protected]"
  
#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
}

要从网站集中删除用户,请使用:SharePoint Online:使用 PowerShell 从网站集中删除用户

结论:

总之,从 SharePoint Online 子网站中删除用户是一个简单的过程,可以通过用户界面或使用 PowerShell 脚本来完成。上述步骤提供了清晰且易于遵循的指南,用于从 SharePoint Online 子网站中删除用户,无论是使用用户界面还是使用脚本。通过轻松管理对 SharePoint Online 网站的访问,您可以确保您的信息安全并且只有需要的用户才能访问。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯