SOLVED

Allow access request setting

Copper Contributor
Hey all,

Is there a way to disable the Allow access request setting?

I’ve had a try using the null $web.RequestAccessEmail approach, but the option is still enabled with the Site Owners group selected instead.

Anyway to turn it off using PnP or CSOM?

Thanks
5 Replies
Setting it to string.Empty should work. PnP Core has an extension for it. web.DisableRequestAccess()

Hi @Steve Johnson, are you referring to the request form for users to complete if they don't have access?

 

If so, you can do this through the user interface.

 

On modern sites:

  • Click on the Settings Cog, and select Site Permissions.
  • Once the Site Permissions pop out is on the screen, select "Advanced permissions settings"
  • You will then see a classic page with the ribbon at the top. In the "Manage" group, click "Access Request Settings"
  • Untick the option "Allow access requests"

I hope that helps

 

 

Thanks guys! Sorry @Matt Weston, I should've specified that I have a whole bunch of Site Collections affected and it's causing confusion for users, so I'm looking at switching it off and adjusting our provisioning solution as appropriate too.

 

@Oliver Zeiser Thanks, I've tried what you've suggested, but the Allow access requests box is refusing to uncheck.

 

This is the code I'm running - am I missing anything do you know?

 

$web = Get-PnPWeb -Includes MembersCanShare, AssociatedMemberGroup.AllowMembersEditMembership 
$web.MembersCanShare=$false
$web.AssociatedMemberGroup.AllowMembersEditMembership=$false
$web.RequestAccessEmail=""
$web.AssociatedMemberGroup.Update()
$web.Update()
$web.Context.ExecuteQuery()
Write-Host "Access request settings updated"
best response confirmed by Steve Johnson (Copper Contributor)
Solution

Hi @Steve Johnson,  try this (works in my tenancy):

 

Connect-PnPOnline -Url <site collection url>
$web = Get-PnPWeb
$web.RequestAccessEmail = ""
$web.Update()
Invoke-PnPQuery

Huge thanks for that Matt, that works! Although the test site collection I was using, it refused to work on, but on my others, it was fine. Weird.
1 best response

Accepted Solutions
best response confirmed by Steve Johnson (Copper Contributor)
Solution

Hi @Steve Johnson,  try this (works in my tenancy):

 

Connect-PnPOnline -Url <site collection url>
$web = Get-PnPWeb
$web.RequestAccessEmail = ""
$web.Update()
Invoke-PnPQuery

View solution in original post