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

[玩转系统] SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?

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

SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?


要求: 中断 SharePoint Online 中子网站的权限继承。

如何打破 SharePoint Online 中的子网站权限继承?

当我们在 SharePoint Online 中创建新的子网站时,我们可以选择设置其权限:子网站是否应继承其父网站的权限,还是应具有唯一的权限。如果您需要在创建站点后更改子站点权限继承,我们可以更改其权限设置。向 SharePoint Online 中的子网站授予权限既快速又简单。只需几个步骤,您就可以授予某人访问您的子网站的权限,以便他们可以与您就文档和项目进行协作:

  1. 导航到需要更改权限继承的子网站。
  2. 单击“设置”齿轮,然后从设置菜单中选择“站点设置”。
  3. 在“站点设置”页面上,单击“用户和权限”部分下的“站点权限”链接。
  4. 在网站权限页面上,您会收到一条消息:“此网站继承了其父网站的权限。 (父站点标题)”,如果站点从其父站点继承权限。

    [玩转系统] SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?

  5. 要为子网站配置唯一权限,请单击功能区中的“停止继承权限”按钮并确认提示。
  6. 这将我们带到“为此网站设置组”页面,您需要在其中为此子网站设置组,例如:子网站的默认所有者、成员和访问者。您可以选择现有的 SharePoint 组或创建新组。

    [玩转系统] SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?

  7. 单击“确定”按钮保存。

如何向 SharePoint Online 中的子网站授予权限?

以下是授予子网站访问权限的方法:

  1. 单击设置齿轮>>站点设置>>站点权限。您会发现该网站正在使用独特的权限。

    [玩转系统] SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?

  2. 现在,您可以通过单击“授予权限”按钮将新用户添加到站点。

    [玩转系统] SharePoint Online:如何停止继承权限并设置对子网站的唯一访问权限?

  3. 或者通过选择您不希望访问子网站的现有用户和组并单击功能区中的“删除用户权限”按钮来删除它们。

SharePoint Online: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"
 
#Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing/2018"
 
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 from URL
    $Web = $Ctx.web
    $Ctx.Load($Web)
    $Ctx.executeQuery()
 
    #Break Permission inheritance of the Web - use existing groups from parent
    $Web.BreakRoleInheritance($True, $False)
    $Ctx.executeQuery()
    Write-host -f Green "Permission Inheritance Broken for the Subsite!"
}
Catch {
    write-host -f Red "Error Breaking Subsite Permissions!" $_.Exception.Message
}

如果您想创建新组并将默认所有者/成员/访问者组与子网站关联,该怎么办?


#Load SharePoint Online 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"
 
#Function to Ensure a SharePoint Online Group
Function Ensure-SPOGroup([Microsoft.SharePoint.Client.Web]$Web, $GroupName, $PermissionLevel)
{
    Try {
        $Ctx = $Web.Context
        #Get Existing Groups
        $Groups = $Web.SiteGroups
        $Ctx.Load($Groups)
        $Ctx.ExecuteQuery()
 
        #Check if the Group Exists already
        $Group = $Groups | Where { $_.Title -eq $GroupName}
        If(-Not $Group)
        {
            $GroupInfo = New-Object Microsoft.SharePoint.Client.GroupCreationInformation
            $GroupInfo.Title = $GroupName
            $Group = $Web.SiteGroups.Add($GroupInfo)
            $Ctx.ExecuteQuery()
 
            #Assign permission to the group
            $RoleDefinition = $web.RoleDefinitions.GetByName($PermissionLevel)
            $RoleDefBinding = New-Object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($Ctx)
            $RoleDefBinding.Add($RoleDefinition)
            $Ctx.Load($Web.RoleAssignments.Add($Group,$RoleDefBinding))
            $Ctx.ExecuteQuery()
            Write-host -f Green "`tCreated Group $GroupName and Assigned Permissions $PermissionLevel"
        }
        Return $Group
    }
    catch {
        write-host -f Red "Error:" $_.Exception.Message
    }
}
 
#Setup Credentials to connect
$SiteURL = "https://crescent.sharepoint.com/sites/marketing/2018"
$Cred = Get-Credential
 
Try {
    #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()
 
    #Break Permission inheritance of the Web
    $Web.BreakRoleInheritance($False, $False)
    $Ctx.executeQuery()
    Write-host -f Green "Permission Inheritance Broken for the Subsite!"

    #Set Group Names
    $OwnersGroupName = $Web.Title + " Owners"
    $MembersGroupName = $Web.Title + " Members"
    $VisitorsGroupName = $Web.Title + " Visitors"
 
    #Get Default Groups
    $OwnersGroup = Ensure-SPOGroup -Web $Web -GroupName $OwnersGroupName -PermissionLevel "Full Control"
    $MembersGroup = Ensure-SPOGroup -Web $Web -GroupName $MembersGroupName -PermissionLevel "Edit"
    $VisitorsGroup = Ensure-SPOGroup -Web $Web -GroupName $VisitorsGroupName -PermissionLevel "Read"
 
    #Associate Default Groups
    $web.AssociatedOwnerGroup  = $OwnersGroup
    $web.AssociatedOwnerGroup.Update()
    $web.AssociatedMemberGroup = $MembersGroup
    $web.AssociatedMemberGroup.Update()
    $web.AssociatedVisitorGroup = $VisitorsGroup
    $web.AssociatedVisitorGroup.Update()
    $web.Update()
    $Ctx.ExecuteQuery()
    Write-host -f Green "Default Groups Set for the Subsite!"
}
catch {
    write-host -f Red "Error:" $_.Exception.Message
}

使用 PnP PowerShell 在子网站中设置唯一权限


#Parameter
$SiteURL= "https://crescent.sharepoint.com/sites/marketing/2018/"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive  #-Credentials (Get-Credential)

#Get the Web
$Web = Get-PnPWeb

#Stop Inheriting Permissions of the subsite
$Web.BreakRoleInheritance($True, $False)
Invoke-PnPQuery

此脚本停止子站点的权限继承。这是关于使用 PnP PowerShell 在子网站上设置唯一权限的另一篇文章:SharePoint Online:使用 PowerShell 创建具有唯一权限的子网站

概括

总之,停止权限继承并设置对 SharePoint Online 中子网站的唯一访问权限是一个简单的过程,任何具有平台基本知识的人都可以执行。还可以通过 PowerShell 轻松实现为 SharePoint Online 子网站设置唯一访问权限。通过使用此功能,您可以微调对 SharePoint 数据的访问,并确保只有合适的人员才能访问敏感信息。该过程涉及打破父站点的权限继承,并为它们分配所需的访问级别。通过执行本文中概述的步骤,管理员可以有效地为其 SharePoint Online 子网站设置所需的访问权限。

经常问的问题:

如何向 SharePoint Online 列表授予唯一权限?

导航至列表 >> 单击设置 >> 选择列表设置。在“列表设置”页面上,单击“此列表的权限”。在权限页面上,如果列表继承了父级的权限,请单击“停止继承权限”按钮以中断权限继承。现在,从功能区中单击“授予权限”>> 在“共享”对话框中,在指定文本框中输入姓名或电子邮件地址。
更多信息:如何授予 SharePoint Online 列表权限?

如何在 SharePoint Online 中设置文件夹级别权限?

可以通过中断文件夹的权限继承并向其中添加用户和组来授予 SharePoint Online 中的文件夹特定权限。
详细信息:SharePoint Online 设置文件夹权限

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

取消回复欢迎 发表评论:

关灯