Weboldal keresés

SharePoint Online: Állítsa be a mappaengedélyeket a PowerShell segítségével


Követelmény: Módosítsa a mappák engedélyeit a SharePoint Online-ban a PowerShell segítségével.

Hogyan állíthat be mappaszintű engedélyeket a SharePoint Online-ban?

Az egyik leggyakoribb SharePoint Online adminisztrációs feladat a mappaengedélyek kezelése. Ebben a blogbejegyzésben bemutatjuk, hogyan használhatja a PowerShellt mappaengedélyek beállítására egy SharePoint Online webhelyhez. Kitérünk arra is, hogyan állíthatjuk be a SharePoint Online mappáinak engedélyeit a webböngésző felületén keresztül. Maradjon velünk!

Hogyan adhatunk egyedi engedélyt egy mappához a SharePoint Online-ban? A mappajogosultságok, például a Hozzáadás vagy a Korlátozás kezeléséhez a SharePoint Online-ban, kövesse az alábbi lépéseket:

  1. Keresse meg a SharePoint Online dokumentumtárat, ahol a célmappa található.
  2. Kattintson a „Hozzáférés kezelése” elemre a részletek ablaktáblájában vagy a mappa helyi menüjében.

  3. A Részletek ablaktáblában kattintson a „Speciális” hivatkozásra. Ezzel a „Speciális engedélyek” oldalra jut.

  4. A szalagon kattintson az „Engedélyek öröklésének leállítása” gombra, és erősítse meg a felszólítást (ha a mappa a szülőtől örökli az engedélyeket).
  5. Most megjelenik azon felhasználók és csoportok listája, akik már rendelkeznek engedélyekkel a mappához. Ha megszegi az engedélyt, a SharePoint átmásolja az engedélyeket a szülőjétől (esetünkben a lista/könyvtár!). Kattintson az „Engedély megadása” gombra a szalagon, hogy felhasználókat adjon hozzá a mappához.

  6. Adja meg azoknak a felhasználóknak és csoportoknak a nevét, akiknek engedélyt szeretne adni a mappához, és válassza ki a megfelelő jogosultsági szintet a megosztási oldalon található „Beállítások megjelenítése” hivatkozásra kattintva. Kattintson a „Megosztás” gombra, hogy engedélyt adjon a mappához.

Hasonlóképpen, a SharePoint Online mappájához való hozzáférés korlátozásához jelölje ki az összes felhasználót a mappaengedélyek oldalán, és kattintson a „Felhasználói engedélyek eltávolítása” gombra.

Rendben! A PowerShell segítségével adjunk hozzá felhasználókat egy SharePoint Online mappához.

PowerShell a SharePoint Online mappaszintű engedélyeinek módosításához:

Korlátozhatja a SharePoint Online mappáihoz való hozzáférést a PowerShell segítségével? Természetesen igen! Adjunk engedélyt a SharePoint Online mappához a PowerShell segítségével. Ez a PowerShell-szkript megszakítja egy mappa engedélyeit, és az ügyféloldali objektummodell (CSOM) használatával ad engedélyeket.


#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" #Or https://crescent.sharepoint.com/sites/Marketing
$FolderURL="/Project Documents/Active" #Or /sites/Marketing/Project Documents/Active - Server Relative URL of the Folder!
$GroupName="Team Site Members"
$UserAccount="Salaudeen@crescent.com"
$PermissionLevel="Edit"

Try {
    $Cred= Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Credentials
    $Web = $Ctx.web

    #Get the Folder
    $Folder = $Web.GetFolderByServerRelativeUrl($FolderURL)
    $Ctx.Load($Folder)
    $Ctx.ExecuteQuery()
    
    #Break Permission inheritence of the folder - Keep all existing folder permissions & keep Item level permissions
    $Folder.ListItemAllFields.BreakRoleInheritance($False,$True)
    $Ctx.ExecuteQuery()
    Write-host -f Yellow "Folder's Permission inheritance broken..."
     
    #Get the SharePoint Group & User
    $Group =$Web.SiteGroups.GetByName($GroupName)
    $User = $Web.EnsureUser($UserAccount)
    $Ctx.load($Group)
    $Ctx.load($User)
    $Ctx.ExecuteQuery()

    #sharepoint online powershell set permissions on folder
    #Get the role required
    $Role = $web.RoleDefinitions.GetByName($PermissionLevel)
    $RoleDB = New-Object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($Ctx)
    $RoleDB.Add($Role)
         
    #add sharepoint online group to folder using powershell
    $GroupPermissions = $Folder.ListItemAllFields.RoleAssignments.Add($Group,$RoleDB)

    #powershell add user to sharepoint online folder
    $UserPermissions = $Folder.ListItemAllFields.RoleAssignments.Add($User,$RoleDB)
    $Folder.Update()
    $Ctx.ExecuteQuery()
    
    Write-host "Permission Granted Successfully!" -ForegroundColor Green  
}
Catch {
    write-host -f Red "Error Granting permission to  Folder!" $_.Exception.Message
}

Ez a PowerShell megszakítja a mappa engedélyeinek öröklését, és hozzáférést biztosít egy felhasználónak és csoportnak. Íme a mappaengedélyek változásának eredménye:

  • Ha el szeretne távolítani egy felhasználót vagy csoportot a SharePoint Online mappából, használja ezt a PowerShell-szkriptet: Hogyan távolíthat el egy felhasználót vagy csoportot a SharePoint Online mappaengedélyei közül?
  • Ha engedélyeket szeretne beállítani egy SharePoint Online dokumentumtár összes mappájához, tekintse meg a SharePoint Online: Engedélyek megadása a dokumentumtár minden mappájához a PowerShell segítségével.

PnP PowerShell a mappaengedélyek módosításához a SharePoint Online-ban

Ha engedélyt szeretne adni egy mappának a SharePoint Online-ban, használja ezt a PnP PowerShell-t:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$ListName="Documents"
$FolderServerRelativeURL = "/sites/marketing/Shared Documents/2019"
$UserAccount = "Salaudeen@crescent.com"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get the Folder from URL
$Folder = Get-PnPFolder -Url $FolderServerRelativeURL
    
#Grant Permission to a Folder
Set-PnPListItemPermission -List $ListName -Identity $Folder.ListItemAllFields -User $UserAccount -AddRole 'Contribute'

Hogyan korlátozható a hozzáférés egy mappához a SharePoint Online-ban?

A SharePoint Online mappákhoz való hozzáférést a Set-PnPFolderPermission parancsmag segítségével is korlátozhatja. Íme egy példa:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$ListName ="Branding"
$FolderServerRelativeURL = "/Sites/Marketing/Branding/2020"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#PowerShell to add user to sharepoint online folder
Set-PnPfolderPermission -List $ListName -identity $FolderServerRelativeURL -User "salaudeen@crescent.com" -AddRole "Edit"

#To remove user, use: Set-PnPfolderPermission -List $ListName -identity $FolderSiteRelativePath -User "salaudeen@crescent.onmicrosoft.com" -RemoveRole "Edit"

Hogyan módosíthatók a mappák engedélyei a SharePoint Online-ban a PnP PowerShell segítségével?

Hasonlóképpen, ha engedélyt szeretne adni egy SharePoint Online csoportnak, használja a következőket:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$ListName ="Branding"
$FolderServerRelativeURL = "/Sites/Marketing/Branding/Active"
  
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
 
#Grant folder permissions to SharePoint Group
Set-PnPfolderPermission -List $ListName -identity $FolderServerRelativeURL -AddRole "Edit" -Group "Marketing Members"

Ez a szkript megtöri az adott mappa engedély öröklését, és az adott felhasználó vagy csoport jogosultságait hozzáadja vagy eltávolítja a mappához. Hasonlóképpen beállíthat engedélyeket az AD-csoportokhoz, ha a nevét paraméterértékként használja a „felhasználó” értékre. Íme egy másik bejegyzés a SharePoint Online-ról: PowerShell mappaengedélyek beszerzéséhez

Gyakran Ismételt Kérdések:

Hogyan korlátozhatom a hozzáférést egy dokumentumtárhoz a SharePoint Online-ban?

Böngésszen a dokumentumtárhoz >> Kattintson a Beállítások >> "Könyvtár beállításai" >> Kattintson a "Ennek a dokumentumtárnak engedélyei" elemre >> Kattintson az "Engedélyek öröklésének leállítása" lehetőségre. Mostantól felhasználókat és csoportokat vehet fel vagy távolíthat el a dokumentumtárból az engedélyek korlátozása érdekében.
További információ: Állítsa be az engedélyeket egy dokumentumtárhoz a SharePoint Online-ban

Hogyan tehetek mindenki számára elérhetővé egy SharePoint Online mappát?

Csak adjon hozzáférést a „Mindenki” csoporthoz a mappában! Hogyan biztosíthatunk hozzáférést mindenkinek a SharePoint Online-ban?

Kapcsolódó cikkek