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

[玩转系统] SharePoint Online:使用 PowerShell 更新权限级别

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

SharePoint Online:使用 PowerShell 更新权限级别


要求:更新 SharePoint Online 中的权限级别。

SharePoint Online:如何编辑权限级别?

权限级别在定义用户可以在 SharePoint 中执行哪些操作方面发挥着至关重要的作用。在本文中,我们将探讨如何在 SharePoint Online 中编辑权限级别。我们有一个权限级别“贡献而不删除”,它允许用户添加/编辑项目但不能删除。现在,我们收到了一项新要求,即从权限级别中排除编辑,以便阻止用户编辑列表项,甚至是他们自己的列表项!那么,如何更改SharePoint中的权限级别呢?

要编辑 SharePoint Online 中的现有权限级别,请执行以下步骤:

  1. 导航到要在其中编辑权限级别的 SharePoint Online 网站集。
  2. 单击“设置”齿轮 >> 从“设置”菜单中选择“站点设置”。
  3. 在“站点设置”页面上,单击“用户和权限”部分下的“站点权限”链接。
  4. 在“权限”页面上,单击功能区“权限”选项卡中的“权限级别”按钮。
  5. 在“权限级别”页面上,单击要编辑的权限级别。

    [玩转系统] SharePoint Online:使用 PowerShell 更新权限级别

  6. 取消选中权限旁边的复选框可将其从权限级别中删除。例如,我已从权限级别中删除了“编辑项目”。同样,您可以添加任何权限来包含它。

    [玩转系统] SharePoint Online:使用 PowerShell 更新权限级别

  7. 向下滚动并单击“提交”按钮以保存更改。

这将使用 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"

#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$PermissionLevelName = "Contribute Without Delete"

#Get Credentials to connect
$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 role definition by name
    $RoleDefinition = $Ctx.web.RoleDefinitions.GetByName($PermissionLevelName)
    $Ctx.Load($RoleDefinition)
    $Ctx.ExecuteQuery()
    
    #Remove "Delete Items" Permission from the Permission Level
    $BasePermissions = New-Object Microsoft.SharePoint.Client.BasePermissions
    $BasePermissions = $RoleDefinition.BasePermissions
    $BasePermissions.Clear([Microsoft.SharePoint.Client.PermissionKind]::DeleteListItems)
    $RoleDefinition.BasePermissions =  $BasePermissions
    $RoleDefinition.Update()
    $Ctx.ExecuteQuery()   
    
    Write-host -f Green "Permission Level has been Updated!"
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

SharePoint Online:使用 PowerShell 将权限添加到权限级别

同样,您可以使用以下 PowerShell 脚本将权限添加到权限级别。


#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 Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$PermissionLevelName = "Contribute Without Delete"

#Get Credentials to connect
$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 role definition by name
    $RoleDefinition = $Ctx.web.RoleDefinitions.GetByName($PermissionLevelName)
    $Ctx.Load($RoleDefinition)
    $Ctx.ExecuteQuery()
    
    #Add "Delete Items" Permission to the Permission Level
    $BasePermissions = New-Object Microsoft.SharePoint.Client.BasePermissions
    $BasePermissions = $RoleDefinition.BasePermissions
    $BasePermissions.Set([Microsoft.SharePoint.Client.PermissionKind]::DeleteListItems)
    $RoleDefinition.BasePermissions =  $BasePermissions
    $RoleDefinition.Update()
    $Ctx.ExecuteQuery()   
    
    Write-host -f Green "Permission Level has been Updated!"
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

要获取所有基本权限,请参阅:https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-csom/ee536458(v%3Doffice.15)

包起来

总之,在 SharePoint Online 中编辑权限级别的功能使管理员能够灵活地快速、轻松地管理用户对网站的访问。在 SharePoint Online 中编辑权限级别是一个简单的过程,只需几个简单的步骤即可完成。通过修改现有的权限级别,管理员可以控制用户在站点内可以执行的操作,确保敏感信息的安全并且仅由授权用户访问。

这是我关于权限级别的其他帖子:

  • SharePoint Online:使用 PowerShell 创建权限级别
  • SharePoint Online:使用 PowerShell 获取所有权限级别
  • SharePoint Online:使用 PowerShell 删除权限级别

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

取消回复欢迎 发表评论:

关灯