Unlike SharePoint On-premise, the Online SharePoint platform has a limitation when it comes to Manageability. However, with new PnP capabilities, you have more power than before. One of the capability I recently used across few client tenant is “Enable-PnPFeature”.
SharePoint Patterns and Practices (a.k.a PnP) contains a library of PowerShell commands (PnP PowerShell) that allows you to perform complex provisioning and artifact management actions using CSOM towards SharePoint Online (SPO) and On-Premise. This unified management capability addresses the gap between On-Premise and Online SharePoint backend.
This following short script enables an specific feature across multiple sites (as defined in the CSV file). Make sure you replace the file path and feature ID to match your requirements.
Prerequisites:
- You must have PnP PowerShell module installed in your PC and ready to connect
- Retrieve the feature ID list and choose the right one
- Keep the list of sites in CSV format stored in the folder path given the script
#Activate Feature for multiple sites $username = Read-Host "Provide the username" $password = Read-Host -Prompt "Password for $username" -AsSecureString $O365credential = New-Object PSCredential($userName,$passWord) # Chnage CSV path here $site = Import-csv C:\Tools\SitesList.csv Foreach ($URL in $site.URL) { try { Connect-PnPOnline -Url $URL -Credentials $O365credential Write-Host "Connected to " $URL Write-Host "Enabling features on" $URL # Enter Feature Id & scope Enable-PnPFeature -Identity 8a4b8de2-6fd8-41e9-923c-c7c3c00f8295 -Force -Scope Site Write-Host "Disconnecting from " $URL Disconnect-PnPOnline } Catch { Write-Host "Got error" $error } } Write-Host "Completed"