Create Content Sources in SharePoint 2010 using PowerShell

Anavijai
Posted by in SharePoint category on for Intermediate level | Points: 250 | Views : 8499 red flag

In this article we will be seeing how to create Content Sources for Enterprise Search Service Application in SharePoint 2010 using PowerShell.

Introduction

In the previous article, we learnt Create a Content Source Scope Rule in SharePoint 2010 using PowerShell. In this article we will be seeing how to create Content Sources for Enterprise Search Service Application in SharePoint 2010 using PowerShell.

Automating the Content Source creation in SharePoint 2010

 

We can create Content Sources for Enterprise Search Service Application in SharePoint 2010 from Central Administration.

Go to Central Administration => Application Management => Manage Service Applications => Enterprise Search Service Application.

 

On the Quick Launch Menu, go to Crawling and then click on Content Sources.

 

 

 

 

You could be able to see the Content Sources. By clicking on New Content Source link we can create a new Content Source.

 

Another way is we can create the content sources for Search Service Application using SharePoint Object Model.

 

Here we will be seeing about automating the content source creation using powershell script.

 

 

Steps Involved:

 

1. Create the input xml file which contains the inputs for content source creation.
2. Create ps1 file which contains the script for content source creation.

 

CreateContentSources.xml

 

<?xml version="1.0" encoding="utf-8" ?>

<ContentSources>

<SSAName>EnterPrise Search Service Application</SSAName>

<ContentSource Name="Sample1 SharePoint Sites" />

<ContentSource Name="Sample2 SharePoint Sites" />

<ContentSource Name="Sample3 SharePoint Sites" />

</ContentSources>


CreateContentSources.ps1

#----------------Get the xml file---------------------------------------------------------------

[xml]$xmlData=Get-Content "C:\Users\Desktop\ContentSources\CreateContentSources.xml"

 #----------------Create New Content Source function---------------------------------------------

function CreateNewContentSource

{

$flag=0

$ssa=Get-SPEnterPriseSearchServiceApplication -Identity $xmlData.SSAName

$ssaContent = new-object Microsoft.Office.Server.Search.Administration.Content($ssa)

$xmlData.ContentSources.ContentSource | ForEach-Object {

$contentSourceName=$_.Name

foreach ($availableContentSource in $ssaContent.ContentSources)

{

if ($availablecontentSource.Name.ToString() -eq $contentSourceName)

{

write-host -f Yellow $contentSourceName "content source already exists"

write-host -f Yellow Deleting $contentSourceName content source

$availablecontentSource.Delete()

write-host -f Green $contentSourceName content source is deleted successfully

write-host -f yellow Creating $contentSourceName

$ssaContent.ContentSources.Create([Microsoft.Office.Server.Search.Administration.SharePointContentSource], $contentSourceName)

write-host -f green $contentSourceName "content source is added successfully"

$Flag=1

break

}

}

if($Flag -eq 0)

{

write-host -f yellow Creating $contentSourceName

$ssaContent.ContentSources.Create([Microsoft.Office.Server.Search.Administration.SharePointContentSource], $contentSourceName)

write-host -f green $contentSourceName "content source is added successfully"

}

}

}

 

#----------------Calling the function---------------------------------------------

CreateNewContentSource

Run the Script:

1. Go to Start.
2. Click on All Programs.
3. Click on Microsoft SharePoint 2010 Products and then click on SharePoint 2010 Management Shell.
4. Run the C:\Users\Desktop\ContentSources\CreateContentSources.ps1

Output:

And in the Central Administration you could see the newly added content sources as shown in the following

Thanks for reading.

Hope this article was useful, keep reading my forthcoming article of this series.

Page copy protected against web site content infringement by Copyscape

About the Author

Anavijai
Full Name: Vijai Anand R
Member Level: Starter
Member Status: Member
Member Since: 5/22/2011 5:12:38 AM
Country: India
Vijai Anand.R
http://www.dotnetfunda.com
SharePoint Developer

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)