SharePoint Online: PowerShell to Grant Site Permissions to User
Requirement: Grant permissions to SharePoint Online site using PowerShell
SharePoint Online: PowerShell to Set Site Permissions
In SharePoint Online modern sites, the default granularity options for accessing SharePoint content are as follows:
PnP PowerShell to Grant Permission to User
We can provide permissions to the site directly without adding users to existing site groups. Here is the PnP PowerShell to add user to a site in SharePoint Online:
SharePoint Online: PowerShell to Set Site Permissions
In SharePoint Online modern sites, the default granularity options for accessing SharePoint content are as follows:
- Full Control, which is granted to Owners
- Edit, which is granted to Members
- Read, which is granted to Visitors (guests).
#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 for Processing $SiteURL = "https://crescent.sharepoint.com/Sites/warehouse" $UserAccount = "[email protected]" $PermissionLevel = "Contribute" #Setup Credentials to connect $Cred = Get-Credential Try { #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 $Web = $Ctx.Web $Ctx.Load($Web) $Ctx.ExecuteQuery() #Ensure the user $User=$web.EnsureUser($UserAccount) $Ctx.Load($User) $Ctx.ExecuteQuery() #Get the Permission Level $RoleDefinition = $web.RoleDefinitions.GetByName($PermissionLevel) $RoleAssignment = New-Object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($Ctx) $RoleAssignment.Add($RoleDefinition) #Assign Role Assignment to User $Permissions = $Web.RoleAssignments.Add($User,$RoleAssignment) $Web.Update() $Ctx.ExecuteQuery() Write-host -f Green "User '$UserAccount' has been Granted with Access '$PermissionLevel'!" } Catch { write-host -f Red "Error:" $_.Exception.Message }
PnP PowerShell to Grant Permission to User
We can provide permissions to the site directly without adding users to existing site groups. Here is the PnP PowerShell to add user to a site in SharePoint Online:
#Parameters $SiteURL = "https://crescent.sharepoint.com/sites/Warehouse" $UserAccount = "[email protected]" $PermissionLevel = "Contribute" #Connect to PnP Online Connect-PnPOnline -Url $SiteURL -UseWebLogin #grant access to sharepoint online site with powershell Set-PnPWebPermission -User $UserAccount -AddRole $PermissionLevelThis PowerShell adds permissions to SharePoint Online site.
No comments:
Please Login and comment to get your questions answered!