kwizcom banner advertisement

SharePoint Online: Get All Permission Levels using PowerShell

Requirement: Get permission levels in SharePoint Online site using PowerShell.

SharePoint Online: PowerShell to Get Permission Levels
This script returns all permission level names including out-of-the-box permission levels such as "Full Control" and any custom permission levels created the given SharePoint Online site collection.
#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 Get-SPOPermissionLevels()
{
  param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL        
    )
    Try { 
        #Get Credentials to connect
        $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

        #Get all permission levels
        $RoleDefColl=$Ctx.web.RoleDefinitions
        $Ctx.Load($RoleDefColl)
        $Ctx.ExecuteQuery()
    
        #Loop through all role definitions
        ForEach($RoleDef in $RoleDefColl)
        {
            Write-Host -ForegroundColor Green $RoleDef.Name
        }
     }
    Catch {
        write-host -f Red "Error getting permission Levels!" $_.Exception.Message
    }
}
 
#Set parameter values
$SiteURL="https://crescent.sharepoint.com/sites/Ops/"

#Call the function 
Get-SPOPermissionLevels -SiteURL $SiteURL 
This script gets you all of the Permission Levels that are configured in the given SharePoint Online site collection.

SharePoint Online PowerShell to Get Permission Level
If you want to get a specific permission level in your PowerShell script, you can use:
#Get the permission level
$PermissionLevelName ="Read"
$PermissionLevel = $web.RoleDefinitions.GetByName($PermissionLevelName)
$Ctx.Load($PermissionLevel)
$Ctx.ExecuteQuery()
SharePoint Online: Get All Permission Levels using PowerShell SharePoint Online: Get All Permission Levels using PowerShell Reviewed by Salaudeen Rajack on September 06, 2017 Rating: 5

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.