I needed a PowerShell script that performs a full crawl with the ability to target a specific content source.
This was the neat result
$snapin = Get-PSSnapin | Where-Object { $_.Name -eq "Microsoft.SharePoint.Powershell" } if ($snapin -eq $null) { Write-Host "[INIT] Loading SharePoint Powershell Snapin" Add-PSSnapin "Microsoft.SharePoint.Powershell" } $searchApp = Get-SPEnterpriseSearchCrawlContentSource -SearchApplication "Search Service Application" | Where-Object { $_.Name -eq "Local SharePoint sites" } if($searchApp.CrawlState -eq "Idle") { Write-Host "CrawlState was Idle, crawling Full" -ForegroundColor Green $searchApp.StartFullCrawl() Do { Write-Host "`r#" -ForegroundColor Yellow -NoNewline Start-Sleep 5 } while ($searchApp.CrawlState -ne "Idle") Write-Host "`nFinsihed crawling" -ForegroundColor Green } else{ Write-Host "Didn't start crawl, CrawlState was"$searchApp.CrawlState -ForegroundColor Yellow }
This will print a status while updating (the yellow hash signs)
All the params are in the script, enjoy