TwitterLinkedInBlog

Monday, February 23, 2015

PowerShell - Delete Duplicate Quick Launch Nodes

Scenario:
  • Site slow to load, resulting in an exception with a correlation ID
  • ULS log error: PortalSiteMapProvider was unable to fetch children for node at URL
  • Temporarily hide the quick launch so users can navigate to the site: SharePoint Designer 2010 > http://samplesite > Left Nav > 'Sample Site Name' > uncheck 'Display Quick Launch' > Save.
  • Find the offending Quick Launch node by running the following SQL query against the content database. You should see many, many repeating entries: SELECT * FROM NavNodes
  • Delete the repeats from the Quick Launch via PowerShell:
    $FindString = “Offending Sample Title”
    $web = get-spweb ("http://samplesite/")
    for ($i = $web.Navigation.QuickLaunch.Count-1; $i -ge 0; $i--)
    {
    write-host $web.Navigation.QuickLaunch[$i].Title "heading deleting...... "
    $web.Navigation.QuickLaunch[$i].Delete()
    write-host "heading deleted successfully !!!."
    }
  • Display the quick launch again.

Resources:

No comments: