How to enable external sharing in SharePoint Online with Powershell

Sriram Varadarajan
 
Solution Architect
June 29, 2015
 
Rate this article
 
Views
16771

If you have to collaborative your content with external vendors, clients or external customers, SharePoint online has an option called EXTERNAL SHARING

Who is an external user?

An external user is someone outside of your organization who can access your SharePoint Online sites and documents but does not have a license for your SharePoint Online or Microsoft Office 365 subscription. External users are not employees, contractors, or onsite agents for you or your affiliates.

For more info please refer : https://support.office.com/en-in/article/Manage-external-sharing-for-your-SharePoint-Online-environment-c8a462eb-0723-4b0b-8d0a-70feafe4be85

Requirement: The need was to create a PowerShell script to enable/disable external sharing.

The below powershell will enable/disable the external shareing based on the Site collection URL specified

 $siteCollectionURL = Read-Host "Enter the URL of the site collection"
 Write-Host "1> Don't allow sharing outside your organization"
 Write-Host "2> Allow external users who accept sharing invitations and sign in as authenticated users"
 Write-Host "2> Allow both external users who accept sharing invitations and anonymous guest links"
 $a = Read-Host "Please choose an appropriate option"
 switch($a)
 {
    "1"
    {  
     Set-SPOSite -Identity $siteCollectionURL -SharingCapability Disabled
 	Write-Host "Operation Performed"
    }
 
   "2"
   {
     Set-SPOSite -Identity $siteCollectionURL -SharingCapability ExternalUserSharingOnly
 	Write-Host "Operation Performed"
   }
 
    "3"
    {
      Set-SPOSite -Identity $siteCollectionURL -SharingCapability ExternalUserAndGuestSharing
 	 Write-Host "Operation Performed"
     }
 	default {"Please enter appropriate option"}
 }
 To check whether a particular site collection is externalized:
 $siteCollectionURL = Read-Host "Enter the site collection URL"
 $site = Get-SPOSite -Identity $siteCollectionURL
 if($site.SharingCapability -eq "Disabled")
 {
     Write-Host "Externalization is disabled for"$site.URL -ForegroundColor Green
 }
 else
 {
     Write-Host "Externalization is enabled" -ForegroundColor Yellow
 }
 

Author Info

Sriram Varadarajan
 
Solution Architect
 
Rate this article
 
Sriram is a Technology Evangelist with 15+ years experience in Microsoft Technologies. He is an enterprise architect working for large pharmaceutical organization which has presence globally with largest Microsoft implementation ...read more
 

Leave a comment