Taylohtio/_Scripts/change_site_collection_url/hidePagesFromGlobalNav/hidePagesFromGlobalNav.ps1

65 lines
1.4 KiB
PowerShell

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