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
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

There is 1 comment for this article

Leave a Reply