Questo errore
This page is not using a valid page layout. To correct the problem, edit page settings and select a valid page layout.
solitamente compare in SharePoint dopo un restore di un sito su un altra url.
Indica che le url memorizzate per i page layout hanno ancora il riferimento assoluto alla posizione precedente.

Per risolverlo si può usare questo script PowerShell per aggiornare automaticamente le url alla nuova posizione:

PowerShell

web = Get-SPWeb -Identity "http://sharepoint.sgart.local/<site collection>/<webs>";
$rootUrl=$web.Site.RootWeb.url.tolower()

$spPubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web);
$pages = $spPubWeb.PagesList;

foreach($item in $pages.Items)
{
  $pubPage = [Microsoft.SharePoint.Publishing.PublishingPage]::GetPublishingPage($item)
  $url = new-object Microsoft.SharePoint.SPFieldUrlValue($pubPage.ListItem[[Microsoft.SharePoint.Publishing.FieldId]::PageLayout].ToString())

  if($url -ne $null)
  {   
    $i=$url.url.IndexOf("/_catalogs/")
    if($i -ge 0){
      $url.url=$rootUrl+$url.url.substring($i)

      $pubPage.Name
      $pubPage.CheckOut()
      $li=$pubPage.ListItem
      $li[[Microsoft.SharePoint.Publishing.FieldId]::PageLayout] = $url
      $li.Update()

      $pubPage.ListItem.File.CheckIn("Fixed URL to page layout.", [Microsoft.SharePoint.SPCheckinType]::MajorCheckIn);
    }
  }
}
Tags:
Errori120 PowerShell200 SharePoint498 SharePoint 2010224
Potrebbe interessarti anche: