Skip to main content

Delete a particular web part from all the sites ans sub sites

Please us below PowerShell script to delete a particular web part from all the sites ans sub sites,

Add-PSSnapin "Microsoft.SharePoint.PowerShell"

#$CSVFile = Import-CSV -Path "E:\Ulhas\Subsites.csv"
$filepath = "E:\Ulhas\Subsites.csv"

Import-CSV $filepath -Header SiteUrl | Foreach-Object{

    $SPweb = Get-SPWeb $_.SiteUrl #"https://www.contoso.com/it/pmo/"

    $webpartmanager = $SPweb.GetLimitedWebPartManager(($SPweb.Url + "default.aspx"),  [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)

       $webpartsarray = @()

     For($i=0;$i -lt $webpartmanager.WebParts.Count;$i++)
      {
        if($webpartmanager.WebParts[$i].title -eq "ScriptToRemoveBlankSpace")  #Check for particular web part
         {
          $webpartsarray = $webpartsarray + $webpartmanager.WebParts[$i].ID
             }
      }

     $var=$webpartsarray.length
     write-host $var

     for($j=0; $j -lt $var; $j++)
     {
     $webpartmanager.DeleteWebPart($webpartmanager.WebParts[$webpartsarray[$j]])

      # call CloseWebPart method to close the web part
     }

    $SPweb.Update();
    $SPweb.Dispose();
}

Comments