/ #PowerShell #search 

Start crawling with PowerShell

For our first ‘big’ project for SharePoint 2010 we started with some automated roll-out,

using PowerShell. So whenever we do a build we can easily deploy ‘everything’ that

is in our features, and since we deploy some content trough features we needed to

update the search.

Instead of updating it through code we used PowerShell to start crawling the content

we just deployed. That way you can keep from creating featurereceivers doing your

deployment stuff, seems to be quite easy actually to do things with PowerShell; all

you need is some time finding the things you need.

Like you can see on the [SharePoint

2010 Search Wiki]1 there are quite some cmdLets available, digging in them a bit

more you can retrieve almost all information you need with: Get-SPIisWebServiceApplicationPool

The fact that you can combine that with other calls you can even get more with cmdlets

like Get-SPEnterpriseSearchCrawlContentSource

Combining those allowing you to get your contentsource, that you can use to start

crawling it:

$CrawlContent = Get-SPEnterpriseSearchServiceApplication| Get-SPEnterpriseSearchCrawlContentSource

Check all members of your $CrawlContent with a $CrawlContent | Gm to check what you

can do with it.

I used the $CrawlContent.CrawlStatus to check whether i should crawl or not

if ( $CrawlContent.CrawlStatus  -eq “Idle” ) {

$CrawlContent.StartIncrementalCrawl()

}

So finaly you end op with something like :

$CrawlContent = Get-SPEnterpriseSearchServiceApplication| Get-SPEnterpriseSearchCrawlContentSource

if ( $CrawlContent.CrawlStatus  -eq “Idle” ) {

$CrawlContent.StartIncrementalCrawl()

}

$CrawlContent.CrawlStatus