我正在尝试编写一个powershell script
,以浏览网站集合中的所有子站点并删除不再需要的节点。
我已经将脚本放在下面 - 但是我在get -spweb上遇到了一个错误:管道已经停止 - 我认为我可能需要设置一个参数以阻止管道关闭?任何帮助都很棒!
$site = Get-SPSite http://sitecollurl
$site | get-spweb -limit all | foreach-object{
$webURL = $_.url
$web = Get-SPWeb $webURL
$navigationNodes = $web.Navigation.QuickLaunch
ForEach ($Node in $NavigationNodes)
{
if($node.Title -eq "My User Profile")
{
$node.Delete()
}
}
$web.Dispose()
}
我刚刚遇到了这个问题,所以我想分享,请注意,如果我没有孩子,请删除所有标题为"库"的QuickLaunch菜单项:
Get-SPSite http://sitecollectionurl | get-spweb -limit all | foreach-object{
$webURL = $_.url
$web = Get-SPWeb $webURL
$pubWeb = [Microsoft.Sharepoint.Publishing.PublishingWeb]::GetPublishingWeb($Web)
$qlNav = $pubWeb.Navigation.CurrentNavigationNodes
$qlHeading = $qlNav | where { $_.Title -eq "Libraries" }
$qlLibraries = $qlHeading.Children
if($qlLibraries.Count -eq 0)
{
$qlHeading.delete()
}
else
{
$qlLibraries | Select Title,ID
$count = $qlLibraries.Count
write-host "Other Libraries are listed on $url. Count = $count"
}
$pubWeb.Update()
$web.Dispose
}
显然,用您自己的网站收集URL替换http://sitecollectionurl
,然后用您要删除的任何标题替换libraries
。
dan