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

[玩转系统] SharePoint Online:使用 PowerShell 从 CSV 文件授予文件夹权限

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

SharePoint Online:使用 PowerShell 从 CSV 文件授予文件夹权限


要求:在 SharePoint Online 中设置对 CSV 文件中多个文件夹的权限。

PowerShell 从 SharePoint Online 中的 CSV 文件批量设置文件夹权限

您可以使用 Web 浏览器界面或 PowerShell 设置 SharePoint Online 文档库中的文件夹权限。在本文中,我们将了解如何使用 PowerShell 通过 CSV 文件设置 SharePoint Online 中多个文件夹的权限。如果您需要授予特定用户快速访问一组文件夹的权限,这会很有帮助。本指南将演示如何使用 PowerShell 从 CSV 文件设置 SharePoint Online 中的文件夹权限。

我们在 SharePoint Online 库中有一个文件夹列表,并且希望向特定用户授予对特定文件夹的权限。这是我的 CSV 文件:

[玩转系统] SharePoint Online:使用 PowerShell 从 CSV 文件授予文件夹权限

以下是用于从 CSV 设置文件夹权限的 PowerShell 脚本:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$CSVFile = "C:\Temp\FolderPermissions.csv"

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Interactive

    #Get the CSV file
    $CSVData = Import-CSV $CSVFile
 
    #Read CSV file and grant folder permissions
    ForEach($Row in $CSVData)
    {
        Try {
            #Get the Folder
            $Folder = Get-PnPFolder -Url $Row.FolderServerRelativeURL -Includes ListItemAllFields.ParentList -ErrorAction Stop
            $List =  $Folder.ListItemAllFields.ParentList
            #Get Users
            $Users =  $Row.Users -split ";"
            ForEach($User in $Users)
            {
                #Grant Permission to the Folder
                Set-PnPFolderPermission -List $List -Identity $Folder.ServerRelativeUrl -User $User.Trim() -AddRole $Row.Permission -ErrorAction Stop
                Write-host -f Green "Ensured Permissions on Folder '$($Row.FolderServerRelativeURL)' to '$($User.Trim())'"
            }
        }
        Catch {
            Write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
        }
    }
}
Catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

请注意,此脚本将权限附加到文件夹的现有权限上。如果要清除所有现有权限并仅授予 CSV 中的给定权限,请使用 Set-PnPFolderPermission cmdlet 的“-ClearExisting”开关。

如果您想要向 SharePoint 组而不是用户帐户授予权限,请使用以下命令:


Set-PnPFolderPermission -List $ListName -identity $SubFolder.ServerRelativeURL -AddRole "Edit" -Group "Marketing Members"

结论

总之,如果手动完成,在 SharePoint Online 中授予文件夹权限可能会非常耗时且重复。但是,通过使用 CSV 文件和 PowerShell,您可以批量向多个用户授予文件夹权限,并在短短几分钟内自动完成向多个用户授予文件夹权限的过程。使用本文提供的脚本,您可以自动化该过程,节省时间和资源,并确保一致且准确地应用权限。

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

取消回复欢迎 发表评论:

关灯