65 lines
1.4 KiB
PowerShell
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 |