SharePoint Online: Egyedi engedélyek eltávolítása a dokumentumtár összes mappájából a PowerShell segítségével
Követelmény: Távolítsa el az egyedi engedélyeket a SharePoint Online dokumentumtár összes mappájából-almappájából.
Hogyan lehet törölni egy mappa egyedi engedélyeit a SharePoint Online-ban?
A SharePoint Online dokumentumtárak gyakran hierarchikus szerkezettel rendelkeznek, ahol a mappák és fájlok a szülőmappától vagy dokumentumtártól öröklik engedélyeiket. Bizonyos esetekben azonban egyedi engedélyek vannak beállítva bizonyos mappákhoz, ami inkonzisztens hozzáférési szintet eredményez a könyvtárban. Az egyes mappákhoz tartozó egyedi engedélyek kezelése időigényes és fárasztó feladat lehet. Tehát nézzük meg, hogyan távolíthatunk el egyedi engedélyeket a SharePoint Online dokumentumtár összes mappájából a PowerShell segítségével.
Ebben a blogbejegyzésben végigvezetjük az egyedi engedélyek eltávolításának folyamatán a SharePoint Online dokumentumtár összes mappájából. Ez akkor lehet hasznos, ha vissza szeretné állítani az eredeti engedélyeket egy dokumentumtár összes mappájához anélkül, hogy manuálisan kellene beállítania az engedélyeket az egyes mappákhoz.
Az egyedi engedélyek SharePoint Online mappából való eltávolításához kövesse az alábbi lépéseket:
- Keresse meg a SharePoint Online dokumentumtárat, ahol a célmappa található.
- Kattintson a jobb gombbal a Mappára, és válassza a „Részletek” lehetőséget a helyi menüből. Ez megnyitja a részleteket tartalmazó ablaktáblát, kattintson a „Hozzáférés kezelése”, majd a „Speciális” hivatkozásokra. Ezzel a „Speciális engedélyek” oldalra jut.
- Ha a mappa egyedi engedélyeket használ, akkor a „Ez a mappa egyedi engedélyekkel rendelkezik” üzenet jelenik meg. üzenet. Most a szalagon kattintson az „Egyedi engedélyek törlése” gombra, és erősítse meg a következő üzenetet: „Hamarosan örökli az engedélyeket a szülőmappából vagy a dokumentumtárból. Minden egyéni engedély elveszik."
Ez eltávolítja a mappa összes egyedi engedélyét, és örökli a szülőobjektumtól.
SharePoint Online: PowerShell a mappa egyedi engedélyeinek eltávolításához
Íme a PowerShell a SharePoint Online egy mappájának egyedi engedélyeinek törléséhez:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$FolderServerRelativeUrl= "/Sites/Marketing/Shared Documents/2015"
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()
#Get the Folder object by Server Relative URL
$Folder = $Web.GetFolderByServerRelativeUrl($FolderServerRelativeUrl)
$Ctx.Load($Folder)
$Ctx.ExecuteQuery()
#Reset Folder Permissions
$Folder.ListItemAllFields.ResetRoleInheritance()
$Ctx.ExecuteQuery()
Write-host -f Green "Folder's Unique Permissions are Removed!"
}
Catch {
write-host -f Red "Error Resetting Folder Permissions!" $_.Exception.Message
}
Ez visszaállítja az alapértelmezett öröklődést, és egyenletes hozzáférési szintet biztosít minden felhasználó számára.
PowerShell a dokumentumtárban lévő összes mappa egyedi engedélyeinek törléséhez
Ezúttal töröljük a könyvtár összes mappájának egyedi engedélyeit.
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Function to Reset Permissions of all Sub-folders in a Folder
Function Reset-SPOSubFolderPermissions([Microsoft.SharePoint.Client.Folder]$Folder)
{
Try {
#Get all Sub Folders
$Ctx.Load($Folder.Folders)
$Ctx.ExecuteQuery()
#Iterate through each sub-folder of the folder
Foreach ($Folder in $Folder.Folders | Where {$_.Name -ne "Forms" -and $_.Name -ne "Document"})
{
Write-host "Processing Folder:"$Folder.ServerRelativeUrl
#Get the "Has Unique Permissions" Property
$Folder.ListItemAllFields.Retrieve("HasUniqueRoleAssignments")
$Ctx.ExecuteQuery()
If($Folder.ListItemAllFields.HasUniqueRoleAssignments -eq $True)
{
#Reset Folder Permissions
$Folder.ListItemAllFields.ResetRoleInheritance()
$Ctx.ExecuteQuery()
Write-host -f Green "`tFolder's Unique Permissions are Removed!"
}
#Call the function recursively
Reset-SPOSubFolderPermissions $Folder
}
}
Catch {
write-host -f Red "Error Resetting Folder Permissions!" $_.Exception.Message
}
}
#Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$ListName = "Documents"
#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 Library
$List = $Ctx.web.Lists.GetByTitle($ListName)
$Ctx.Load($List.RootFolder)
$Ctx.ExecuteQuery()
#call the function to reset permissions of all folders of the document library
Reset-SPOSubFolderPermissions $List.RootFolder
Ez egy praktikus szkript lehet, ha gyorsan vissza kell állítania nagyszámú mappa engedélyét.
PnP PowerShell egy mappa egyedi engedélyeinek törléséhez
Használjuk a PnP PowerShellt a SharePoint Online-ban található mappák egyedi engedélyeinek törlésére.
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$FolderURL = "/Documents/2015"
#Connect to the Site
Connect-PnPOnline -URL $SiteURL -Interactive
#Get the Folder - with HasUniqueAssignments and ParentList properties
$Folder = Get-PnPFolder -Url $FolderURL -Includes ListItemAllFields.HasUniqueRoleAssignments, ListItemAllFields.ParentList, ListItemAllFields.ID
#Get the List Item of the Folder
$FolderItem = $Folder.ListItemAllFields
#Check if the Folder has unique permissions
If($FolderItem.HasUniqueRoleAssignments)
{
#Reset permission inheritance
Set-PnPListItemPermission -List $FolderItem.ParentList -Identity $FolderItem.ID -InheritPermissions
Write-host "Unique Permissions are removed from the Folder!"
}
Egyedi engedélyek törlése a dokumentumtár összes mappájából
#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing/2018"
$FolderURL = "/Shared Documents" #Document Library Site Relative URL
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive #-Credentials (Get-Credential)
#Function to reset permissions of all Sub-Folders
Function Reset-SubFolderPermissions($FolderURL)
{
#Get all sub-folders of the Folder - Exclude system folders
$SubFolders = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderURL -ItemType Folder | Where {$_.Name -ne "Forms" -and $_.Name -ne "Document"}
#Loop through each sub-folder
ForEach($SubFolder in $SubFolders)
{
$SubFolderURL = $FolderUrl+"/"+$SubFolder.Name
Write-host -ForegroundColor Green "Processing Folder '$($SubFolder.Name)' at $SubFolderURL"
#Get the Folder Object - with HasUniqueAssignments and ParentList properties
$Folder = Get-PnPFolder -Url $SubFolderURL -Includes ListItemAllFields.HasUniqueRoleAssignments, ListItemAllFields.ParentList, ListItemAllFields.ID
#Get the List Item of the Folder
$FolderItem = $Folder.ListItemAllFields
#Check if the Folder has unique permissions
If($FolderItem.HasUniqueRoleAssignments)
{
#Reset permission inheritance
Set-PnPListItemPermission -List $FolderItem.ParentList -Identity $FolderItem.ID -InheritPermissions
Write-host "`tUnique Permissions are removed from the Folder!"
}
#Call the function recursively
Reset-SubFolderPermissions $SubFolderURL
}
}
#Call the function
Reset-SubFolderPermissions $FolderURL
Becsomagolás
Összefoglalva, az egyedi engedélyek eltávolítása a SharePoint Online dokumentumtár összes mappájából időigényes és ismétlődő feladat lehet. A PowerShell használatával azonban a folyamat automatizálható, így időt és energiát takaríthat meg. A parancsfájl végrehajtásával a dokumentumtárban lévő összes mappa egyedi engedélyei eltávolíthatók, visszaállítva az alapértelmezett öröklést a szülőhelyről. Ez egyenletes hozzáférést biztosít, és csökkenti a nem szándékos biztonsági megsértések kockázatát. A cikkben ismertetett lépések követésével a rendszergazdák gyorsan és hatékonyan eltávolíthatják az egyedi engedélyeket a SharePoint Online dokumentumtáruk összes mappájából.
Kapcsolódó hozzászólások:
- SharePoint Online: Törölje a lista összes elemének egyedi engedélyeit a PowerShell segítségével
- SharePoint Online: Egyedi engedélyek törlése és az öröklődés visszaállítása egy listában a PowerShell segítségével
- SharePoint Online: Egyedi engedélyek törlése egy alwebhelyen a PowerShell segítségével
- SharePoint Online: Törölje az összes egyedi engedélyt egy webhelycsoportból a PowerShell segítségével
