All scripts
Governance 326
Get-SharePointExternalSharingReport
Reports every SharePoint site's external sharing setting alongside the tenant default, so sites that are more permissive than intended stand out immediately.
Get-SharePointExternalSharingReport.ps1
<#
.SYNOPSIS
Reports external sharing settings across all SharePoint sites.
.DESCRIPTION
Compares each site's external sharing capability against the tenant
default and flags any site that is more permissive than the baseline,
since site level overrides are easy to set and easy to forget about.
.EXAMPLE
.\Get-SharePointExternalSharingReport.ps1
.NOTES
Requires PnP.PowerShell connected to the SharePoint admin site.
.AUTHOR
Shehryar Hassan
#>
$tenant = Get-PnPTenant
$sites = Get-PnPTenantSite
$report = $sites | ForEach-Object {
[pscustomobject]@{
Url = $_.Url
SharingCapability = $_.SharingCapability
MoreOpenThanDefault = $_.SharingCapability -ne $tenant.SharingCapability
}
}
Write-Host "Tenant default sharing: $($tenant.SharingCapability)" -ForegroundColor Cyan
$report | Where-Object MoreOpenThanDefault | Format-Table -AutoSize
Read it before you run it, and test in a safe tenant first.