#Load SharePoint Online CSOM Assemblies
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\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Function to Disable Feature in SharePoint Online
Function Disable-SPOFeature
{
param ($SiteCollURL,$UserName,$Password,$FeatureGuid)
Try
{
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteCollURL)
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $Password)
$Ctx.Credentials = $Credentials
$Site=$Ctx.Site
#Check the Feature Status
$FeatureStatus = $Site.Features.GetById($FeatureGuid)
$FeatureStatus.Retrieve("DefinitionId")
$Ctx.Load($FeatureStatus)
$Ctx.ExecuteQuery()
#Deactivate the feature if its enabled
if($FeatureStatus.DefinitionId -ne $null)
{
Write-Host "Disabling Feature $FeatureGuid..." -ForegroundColor Yellow
$Site.Features.Remove($FeatureGuid, $true) | Out-Null
$Ctx.ExecuteQuery()
Write-Host "Feature has been disabled on site $SiteCollURL!" -ForegroundColor Green
}
else
{
Write-host "Feature is Not Active on the Site collection!" -ForegroundColor Red
}
}
Catch
{
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Parameters to Activate Feature
$SiteCollURL = "SiteCollection URL"
$UserName = "UserName"
$Password = "Password goes here"
$FeatureGuid= [System.Guid] ("f6924d36-2fa8-4f0b-b16d-06b7250180fa") #Publishing Feature
$SecurePassword= ConvertTo-SecureString $Password –asplaintext –force
#Disable Feature
Disable-SPOFeature -SiteCollURL $SiteCollURL -UserName $UserName -Password $SecurePassword -FeatureGuid $FeatureGuid
No comments:
Post a Comment