PowerShell script to set user email in the access request settings on Modern SharePoint Site

Technology Specialist
November 8, 2018
Rate this article
[Total: 0    Average: 0/5]


In this article, let us see how to change or add the user to access request list

The access request feature allows people to request access to content that they do not currently have permission to see. As a site owner, you can configure the feature to send you mail when someone requests access to a site. You can then choose whether to approve or decline their request. If you approve the request, you can also specify the specific level of permission you’d like to assign to a user.

 Write-Output -msg "Start : Module loading Process"
 $modulePath = "C:\Program Files (x86)\SharePointPnPPowerShellOnline\Modules\SharePointPnPPowerShellOnline"
 import-module ($modulePath + "\SharePointPnPPowerShellOnline.psd1")
 Add-Type -Path ($modulePath + "\SharePointPnP.PowerShell.Online.Commands.dll")
 Add-Type -Path ($modulePath + "\Microsoft.SharePoint.Client.dll")
 Add-Type -Path ($modulePath + "\Microsoft.SharePoint.Client.Runtime.dll")
 Add-Type -Path ($modulePath + "\Microsoft.Online.SharePoint.Client.Tenant.dll")
 Write-Output -msg "End : Module loading Process"
 $cred = Get-Credential
 $csv = import-csv -Path "D:\Scripts\SiteInput.csv"
 Clear-Content "D:\SiteCreationLog.txt"
 foreach($value in $csv)
 $URL= $TargetURL -replace $ParentURL+'/'
 if($WebTemplate -eq "Team")
     #Connect to Site Collection       
     Connect-PnPOnline -Url $ParentURL -Credentials $cred
     #Create sub web with unique permissions
     New-PnPWeb -Title $Title -Url $URL -Description $Description -BreakInheritance -InheritNavigation -Template "STS#3"
     Connect-PnPOnline -Url $TargetURL -Credentials $cred
     $owner = (Get-PnPContext).Credentials.UserName
     #Create default groups for the new web
     $OwnerGroupName=$URL+" Owners"
     $MemberGroupName=$URL+" Members"
     $VisitorGroupName=$URL+" Visitors"
     $ownerGroup = New-PnPGroup -Title $OwnerGroupName -Owner $owner
     Set-PnPGroup -Identity $ownerGroup -SetAssociatedGroup Owners
     Set-PnPGroupPermissions -Identity $ownerGroup -AddRole "Full Control"
     $memberGroup = New-PnPGroup -Title $MemberGroupName -Owner $owner
     Set-PnPGroup -Identity $memberGroup -SetAssociatedGroup Members
     Set-PnPGroupPermissions -Identity $memberGroup -AddRole "Edit"
     $visitorGroup = New-PnPGroup -Title $VisitorGroupName -Owner $owner
     Set-PnPGroup -Identity $visitorGroup –SetAssociatedGroup Visitors
     Set-PnPGroupPermissions -Identity $visitorGroup -AddRole "Read"
     $TargetURL+" PASS" | Out-File -FilePath D:\SiteCreationLog.txt -Append
     Write-Error "Invalid Template Name"
     $TargetURL+" Invalid Template Name"| Out-File -FilePath D:\SiteCreationLog.txt -Append
 Write-Output $_.Exception.Message 
 $TargetURL+" "+$_.Exception.Message | Out-File -FilePath D:\SiteCreationLog.txt -Append

Hope this helps!


Category : PowerShell

Author Info

Technology Specialist
Rate this article
[Total: 0    Average: 0/5]
Having 6 years of experience in design and development of SharePoint applications, Mani has expertise in developing applications using Office 365, SharePoint 2013 & 2010, SPFX, SP Designer Workflows, Visual ...read more

Leave a comment