Set default page layout for web

21/01/2013 17:38


$webUrl = "https://server/sitecollection/subsite"

write-host ""
write-host "=========================== starting 10.SetDefaultPageLayout.ps1 =============================="

Start-SPAssignment -Global
$web = Get-SPWeb $webUrl

$pweb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web)
$defaultPageLayoutFileName="LukasBlogPageLayout.aspx"
$defaultLayout = $pweb.GetAvailablePageLayouts()|Where-Object {$_.Name -eq $defaultPageLayoutFileName} -ea 0
if($defaultLayout -eq $null)
{
 Write-Error $defaultPageLayoutFileName " was not found on " $webUrl
}
else
{
 $pweb.SetDefaultPageLayout($defaultLayout, $true)
 Write-Host ""
 Write-Host "'"$defaultLayout.Name"' was set as default for " $webUrl
 $pweb.Update()
}

Stop-SPAssignment -Global