如何使用 PowerShell 从 SharePoint Online 网站上的每个权限/角色定义中删除/禁用使用客户端集成功能

问题描述 投票:0回答:1

我正在创建一个网站脚本,它允许 SharePoint Online 管理员从网站脚本模板创建网站。在此过程中,会进一步触发 Azure Runbook,此时我需要它来取消选择每个权限中的用户客户端集成功能。

我已经尝试过:

$roleDefinitions = Get-PnPRoleDefinition
Write-Host "Starting loop to remove Client Integration features"
# Loop through each role definition and remove Client Integration features
foreach ($roleDefinition in $roleDefinitions) {
    Write-Host "Starting if"
    if ($roleDefinition.BasePermissions.Has()) {
        $roleDefinition.BasePermissions.Clear([Microsoft.SharePoint.Client.PermissionKind]::UseClientIntegration)
        $roleDefinition.Update()
        $context.ExecuteQuery()
        Write-Host "Removed Client Integration from role: $($roleDefinition.Name)"
    }
}

我也尝试过:

# Get the existing permission level
$existingPermissionLevel = Get-PnPRoleDefinition -Identity "YourPermissionLevelName"

# Create a new BasePermissions object
$newBasePermissions = New-Object Microsoft.SharePoint.Client.BasePermissions

# Add permissions to the new BasePermissions object
$permissionsToAdd = [Microsoft.SharePoint.Client.PermissionKind]::ViewListItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::AddListItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::EditListItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::DeleteListItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::ApproveItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::OpenItems, `
                    [Microsoft.SharePoint.Client.PermissionKind]::ViewVersions, `
                    [Microsoft.SharePoint.Client.PermissionKind]::DeleteVersions, `
                    [Microsoft.SharePoint.Client.PermissionKind]::CancelCheckout, `
                    [Microsoft.SharePoint.Client.PermissionKind]::ManagePersonalViews, `
                    [Microsoft.SharePoint.Client.PermissionKind]::ManageLists, `
                    [Microsoft.SharePoint.Client.PermissionKind]::ViewFormPages, `
                    [Microsoft.SharePoint.Client.PermissionKind]::Open

foreach ($permission in $permissionsToAdd) {
    $newBasePermissions.Set($permission)
}

我还在这里查看了最热门的谷歌结果: https://www.sharepointdiary.com/2018/06/update-permissions-in-custom-permission-level-using-powershell.html 这里: https://www.sharepointdiary.com/2019/01/sharepoint-online-update-permission-level-using-powershell.html 我还阅读了微软的官方文档,你大概可以猜到它是否有帮助! 我也尝试过 Copilot,它总是让我兜圈子。

有人过去做过这个并得到了可以分享的片段吗?

powershell sharepoint-online
1个回答
0
投票

如果只是针对某个SharePoint网站,可以直接在UI界面制作。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.