param( [Parameter(Mandatory=$true)] [string]$url ) function Write-File($msg) { ($msg) | Out-File "log-page-layouts.txt" -Append } function Write-Info($msg) { Write-Host $msg -foregroundcolor green Write-File $msg } function Write-Warn($msg) { Write-Host $msg -foregroundcolor yellow Write-File $msg } function Hide-Pages-From-Global-Nav-Page($publishingPage) { $file = $publishingPage.ListItem.File Write-Info ("Check page: " + $file.Url) $publishingPage.IncludeInGlobalNavigation = $false #$publishingPage.Update() } function Hide-Pages-From-Global-Nav-Web($web, $isCondo) { Write-Info ("Hide pages for web: " + $web.Url) $pubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web) $pages = $pubWeb.GetPublishingPages() foreach ($page in $pages) { Hide-Pages-From-Global-Nav-Page $page } if (-not $isCondo) { Write-Warn ("Hide pages") $pubWeb.Navigation.GlobalIncludePages = $false $pubWeb.Update() } foreach ($subWeb in $web.Webs) { Hide-Pages-From-Global-Nav-Web $subWeb $false } } function Hide-Pages-From-Global-Nav-Site($site) { foreach ($web in $site.RootWeb.Webs) { Hide-Pages-From-Global-Nav-Web $web $true } } $site = Get-SPSite $url Hide-Pages-From-Global-Nav-Site $site #$web = Get-SPWeb $url #Hide-Pages-From-Global-Nav-Web $web $true