About Me

Having 12 years experience in Microsoft technologies.Since more than 7 years working in SharePoint technologies. Expert in providing consultation for SharePoint projects. Hands on with development and administration.

Thursday 12 December 2013

Programatically remove a tab from all the SharePoint 2010 sites

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Navigation;
namespace GlobalNavigationRemove
{
class Program
{
static void Main(string[] args)
{
string webAppUrl = string.Empty;
int iCounter = 0;
int iNbrOfSites = 0;
if (args.Length > 0)
{
Console.WriteLine(string.Format("Web Application: {0}", args[0]));
webAppUrl = args[0].ToString();
if (args.Length > 1)
{
Console.WriteLine(string.Format("Test Iteration: {0}", args[1]));
iNbrOfSites = int.Parse(args[1].ToString());
}
}
SPWebApplication webApp = SPWebApplication.Lookup(new Uri(webAppUrl));
Console.WriteLine(string.Format("Total Site collections detected: {0}" , webApp.Sites.Count.ToString()));
Console.WriteLine(string.Format("*************************************Starting the removal ********************************"));

foreach (SPSite siteCollection in webApp.Sites)
{
if (iCounter > iNbrOfSites && iNbrOfSites != 0)
{
return;
}
PublishingWeb myPublishingWeb = PublishingWeb.GetPublishingWeb(siteCollection.OpenWeb());
Console.WriteLine(string.Format("Now Processing : {0}", myPublishingWeb.Title));
SPNavigationNodeCollection publishingNavigationNodes = myPublishingWeb.Navigation.GlobalNavigationNodes;
try
{
SPWeb web = siteCollection.OpenWeb();
SPNavigationNodeCollection webNavigationNodes = web.Navigation.TopNavigationBar;
foreach (SPNavigationNode node in webNavigationNodes)
{
if (node.Title.Trim().ToLower() == "home")
{
node.Delete();
}
}
}
catch (Exception ex)
{
Console.WriteLine(string.Format("Exception Occurred while processing site {0} \n\n", ex.ToString()));
}
iCounter++;
}
}
}

No comments:

Post a Comment