我正在尝试编写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()
}
答案 0 :(得分:0)
我刚刚遇到过这个问题所以我想分享一下,在我的情况下,请注意删除所有名为“Libraries”的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
}
显然将http://sitecollectionurl
替换为您自己的网站集网址,将libraries
替换为您要删除的标题。
丹