Home

Changing the "Allow members to share" SharePoint site Access Requests setting using Office Dev PnP

Frequent Contributor

Changing the "Allow members to share" SharePoint site Access Requests setting using Office Dev PnP

How can I set the "Allow members to share the site and individual files and folders" setting using the Office Dev PnP Provisioning Engine or PowerShell commands? I haven't found this specific setting in the commands.

 

I mean changing the following setting(s) by PowerShell / remote provisioning:

Access Requests Allow members to share.png

9 Replies

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Hello Harold, 

 

Are you using SPO? This url might point you in the right direction regarding changing the setting programatically for SharePoint online: 

https://blogs.msdn.microsoft.com/chandru/2015/12/31/sharepoint-onlinecsom-change-access-requests-set... (there is a comment with a suggestion to how this can be removed with powershell)

 

I have just started looking into this, so haven't tested this myself yet. 


Let me know when you find a way to have this setting un-checked during site provisioning with PnP Provisioning Engine, as I am currently searching for that myself.

 

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

You can use this script. You need to install CSOM module Version 16.1.4727.1200 and above to use this. 

 

$SiteUrl = "https://<TenantName>.sharepoint.com/sites/<Sitename>"  
$UserName = "admin@<TenantName>..onmicrosoft.com"  
$Password ="password"
$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") 
$loadInfo2 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
$loadInfo3 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.UserProfiles")
#$sstr = ConvertTo-SecureString -string $AdminPass -AsPlainText -Force
$Securepass = ConvertTo-SecureString $Password -AsPlainText -Force
$context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,$Securepass)
$Web = $context.Web
$AllProperties=$Web.AllProperties
$context.Load($Web)
$context.Load($AllProperties)
$context.ExecuteQuery()
$Web.MembersCanShare=$false
$web.Update();
$web.Context.ExecuteQuery()
$AssociatedMember=$web.AssociatedMemberGroup
$context.Load($AssociatedMember)
$context.ExecuteQuery()
$web.AssociatedMemberGroup.AllowMembersEditMembership = $false
$web.AssociatedMemberGroup.Update();
$web.Context.ExecuteQuery() 
Highlighted

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

I created a extention for that:

  try
                {
                    Web rootweb = ctx.Site.RootWeb;
                    ctx.Load(rootweb, w => w.MembersCanShare);
                    ctx.ExecuteQueryRetry();
                    SharingConfiguration sharingSettings = configurationData.ToConfigObject<SharingConfiguration>();
                    // Set MembersCanShare, default to false

                    rootweb.MembersCanShare = sharingSettings.Sharing.MembersCanShare ? sharingSettings.Sharing.MembersCanShare : false;
                    rootweb.Update();
                    ctx.Load(rootweb, w => w.AssociatedMemberGroup.AllowMembersEditMembership);
                    ctx.ExecuteQueryRetry();

                    // Set AllowMembersEditMembership, default to false
                    rootweb.AssociatedMemberGroup.AllowMembersEditMembership = sharingSettings.Sharing.AllowMembersEditMembership ? sharingSettings.Sharing.AllowMembersEditMembership : false;
                    rootweb.AssociatedMemberGroup.Update();
                    ctx.ExecuteQueryRetry();

                    ctx.Load(rootweb, w => w.RequestAccessEmail);
                    ctx.ExecuteQueryRetry();

                    rootweb.RequestAccessEmail = sharingSettings.Sharing.RequestAccessEmail;
                    rootweb.Update();
                    ctx.ExecuteQueryRetry();
                }
                catch (Exception ex)
                {
                    TraceHelper.WriteErrorToListener("LogFile", ex.Message);
                }

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Great replies of you all. Thanks! I'm sure I'll be able to generate a solution using your input next week. I'll update when I got it working.

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Is this for SharePoint On-Line or SharePoint On-Premises ? Or Both ?

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Hi Nigel,

 

my example could be used for both..

 

Kr,

 

Paul

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Hi,

So there is no support for this in PNP-Powershell or the provisioning engine right now?

Russell

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Heres the equivalent powershell. This works in O365

function DisableMemberSharing($siteUrl ) {

Connect -Url $siteUrl

$web = Get-PnPWeb -Includes MembersCanShare, AssociatedMemberGroup.AllowMembersEditMembership

$web.MembersCanShare=$false

$web.AssociatedMemberGroup.AllowMembersEditMembership=$false

$web.AssociatedMemberGroup.Update()

$web.Update()

$web.Context.ExecuteQuery()

 

}

 

 

Re: Changing the "Allow members to share" SharePoint site Access Requests setting using Of

Hi,

Is there also a command to enable/disable the "Allow access requests" via powsershell?

Cheers

Related Conversations
FindTime becomes Find a time in Office 365
Darrell Webster in Change Alerts on
82 Replies
Events from Email now showing up in Calendars
David Margossian in Change Alerts on
13 Replies
New Features - Messagecenter and Roadmap differs
Florian Lutz in Change Alerts on
7 Replies
Office 365 - Meltdown and Spectre CPU bugs
Cian Allner in Office 365 on
0 Replies
Free 1-year trial offer for Microsoft Teams
Cian Allner in Change Alerts on
2 Replies