Start crawling with PowerShell

Start crawling with PowerShell header image

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
Loading comments…