Repair-SPPageLayoutUrl

Fixes the Page Layout URL property of publishing pages which can get messed up during an upgrade or from importing into a new farm.

Repair-SPPageLayoutUrl -WebApplication <SPWebApplicationPipeBind> [-RegexSearchString [<String>]] [-RegexReplaceString [<String>]] [-FixContact [<SwitchParameter>]] [-PageLayout [<SPPageLayoutPipeBind>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Repair-SPPageLayoutUrl -Site <SPSitePipeBind> [-RegexSearchString [<String>]] [-RegexReplaceString [<String>]] [-FixContact [<SwitchParameter>]] [-PageLayout [<SPPageLayoutPipeBind>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Repair-SPPageLayoutUrl -Web <SPWebPipeBind> [-RegexSearchString [<String>]] [-RegexReplaceString [<String>]] [-FixContact [<SwitchParameter>]] [-PageLayout [<SPPageLayoutPipeBind>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Repair-SPPageLayoutUrl -Page <SPFilePipeBind> [-RegexSearchString [<String>]] [-RegexReplaceString [<String>]] [-FixContact [<SwitchParameter>]] [-PageLayout [<SPPageLayoutPipeBind>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Parameters

1

ParameterRequiredTypeDescription
WebApplicationTrueSPWebApplicationPipeBind

The web application containing the pages to repair.

The type must be a valid URL, in the form http://server_name; or an instance of a valid SPWebApplication object.

RegexSearchStringFalseString

Search pattern to use for a regular expression replacement of the page layout URL.

RegexReplaceStringFalseString

Replace pattern to use for a regular expression replacement of the page layout URL.

FixContactFalseSwitchParameter

Attempt to fix any page contacts that are invalid.

PageLayoutFalseSPPageLayoutPipeBind

URL of page layout to retarget page(s) to.

AssignmentCollectionFalseSPAssignmentCollection

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.

2

ParameterRequiredTypeDescription
SiteTrueSPSitePipeBind

The site containing the pages to repair.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

RegexSearchStringFalseString

Search pattern to use for a regular expression replacement of the page layout URL.

RegexReplaceStringFalseString

Replace pattern to use for a regular expression replacement of the page layout URL.

FixContactFalseSwitchParameter

Attempt to fix any page contacts that are invalid.

PageLayoutFalseSPPageLayoutPipeBind

URL of page layout to retarget page(s) to.

AssignmentCollectionFalseSPAssignmentCollection

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.

3

ParameterRequiredTypeDescription
WebTrueSPWebPipeBind

Specifies the URL or GUID of the Web containing the pages to repair.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of Microsoft SharePoint Foundation 2010 Web site (for example, MySPSite1); or an instance of a valid SPWeb object.

RegexSearchStringFalseString

Search pattern to use for a regular expression replacement of the page layout URL.

RegexReplaceStringFalseString

Replace pattern to use for a regular expression replacement of the page layout URL.

FixContactFalseSwitchParameter

Attempt to fix any page contacts that are invalid.

PageLayoutFalseSPPageLayoutPipeBind

URL of page layout to retarget page(s) to.

AssignmentCollectionFalseSPAssignmentCollection

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.

4

ParameterRequiredTypeDescription
PageTrueSPFilePipeBind

The URL to the page to repair.

RegexSearchStringFalseString

Search pattern to use for a regular expression replacement of the page layout URL.

RegexReplaceStringFalseString

Replace pattern to use for a regular expression replacement of the page layout URL.

FixContactFalseSwitchParameter

Attempt to fix any page contacts that are invalid.

PageLayoutFalseSPPageLayoutPipeBind

URL of page layout to retarget page(s) to.

AssignmentCollectionFalseSPAssignmentCollection

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

Fixes the Page Layout URL property of publishing pages which can get messed up during an upgrade or from importing into a new farm.

Copyright 2016 Falchion Consulting, LLC

> For more information on this cmdlet and others:

> http://blog.falchionconsulting.com/

> Use of this cmdlet is at your own risk.

> Gary Lapointe assumes no liability.

Examples

------------------EXAMPLE 1-----------------------

PS C:\> Get-SPWebApplication "http://server_name" | Repair-SPPageLayoutUrl

This example automatically repairs all pages in http://server_name by analyzing the page layout name and fixing the path so it points to the appropriate location.

------------------EXAMPLE 2-----------------------

PS C:\> Get-SPWeb "http://server_name" | Repair-SPPageLayoutUrl -RegexSearchString "(?:http://testserver/)" -RegexReplaceString "http://prodserver"

This example automatically repairs all pages in http://server_name replacing the value http://testserver with http://prodserver.