Short Powershell script that limits external sharing in SharePoint Online to only specific mail domains. The script uses CSOM and requires SharePoint Online SDK.

 

The script is related to and more described in a Wiki article SharePoint Online Sharing settings with CSOM.

 

 

How to use?

 PowerShell

#Paths to SDK 
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\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"   
 

 

PowerShell
Edit|Remove
#Enter the data 
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString 
$username="admin@TENANT.onmicrosoft.com" 
$Url="https://TENANT-admin.sharepoint.com" 
$AllowDomainList="test.com madeup.com"