Replaces instances of one web part type with another web part type.

Replace-SPWebPartType -File <SPFilePipeBind> -OldType <TypePipeBind> -NewType <TypePipeBind> [-Title [<String>]] [-Properties [<Hashtable>]] [-Publish [<SwitchParameter>]] [-AssignmentCollection [<SPAssignmentCollection>]]




The URL to a web part page or an instance of an SPFile object.


The web part type to replace.


The web part type to replace the old type with.


The web part title to restrict the replacement to.


Additional properties to set or override after copying the old web part properties.


If specified the page will be published after adjusting the Web Part.


Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Replaces instances of one web part type with another web part type.

Copyright 2016 Falchion Consulting, LLC

> For more information on this cmdlet and others:


> Use of this cmdlet is at your own risk.

> Gary Lapointe assumes no liability.



PS C:\> Replace-SPWebPartType -File "http://server_name/pages/default.aspx" -OldType "Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart, Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" -NewType "MyContentByQueryWebPart, MyCompany.SharePoint.WebParts, Version=, Culture=neutral, PublicKeyToken=4ec4b9177b831752" -Publish

This example replaces all instances of the web part who's class name is ContentByQueryWebPart with the web part who's class name is MyContentByQueryWebPart.