PowerShell'i kullanarak SharePoint Arama Taramasını başlatın
Bazı nedenlerden dolayı, planlanan SharePoint arama taraması tetiklenmedi. Bu yüzden Artımlı taramaları tetiklemek için bu PowerShell betiğini ve Windows Görev zamanlayıcısını kullandım.
PowerShell'i kullanarak SharePoint Arama Tam/Artımlı Taramayı başlatın:
Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue
#Get the search service application
$SSA = Get-SPEnterpriseSearchServiceApplication -Identity "Search Service Application"
#Get the Local SharePoint sites content source
$ContentSource = $SSA | Get-SPEnterpriseSearchCrawlContentSource -Identity "Local SharePoint sites"
#Check if Crawler is not already running
if($ContentSource.CrawlState -eq "Idle")
{
Write-Host "Starting Incremental Crawl..."
$ContentSource.StartIncrementalCrawl()
#$ContentSource.StartFullCrawl();
#$ContentSource.PauseCrawl()
#$ContentSource.StopCrawl()
}
else
{
Write-Host "Another Crawl is already running!"
Write-Host "NAME: ", $ContentSource.Name, " - ", $ContentSource.CrawlStatus
}
Ayrıca, bu tek PowerShell komut satırını kullanarak SharePoint 2013 veya SharePoint 2010'da Arama taramalarını başlatabilir/durdurabiliriz:
Get-SPEnterpriseSearchCrawlContentSource -SearchApplication "Search Service Application" | where-object { ($_.Name -eq "Local SharePoint Sites") -and ($_.CrawlStatus -eq "idle") } | foreach { $_.StartIncrementalCrawl() }
PowerShell'i kullanarak MOSS 2007'de Artımlı Taramayı başlatın:
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search")
$ServerContext = [Microsoft.Office.Server.ServerContext]::Default
$context = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($ServerContext)
$SSPContent = new-object Microsoft.Office.Server.Search.Administration.Content($context)
$SSPContentSources = $SSPContent.ContentSources
foreach ($ContentSource in $SSPContentSources)
{
if ($ContentSource.Name -eq "Local Office SharePoint Server sites")
{
Write-Host "NAME: ", $ContentSource.Name, " - ", $ContentSource.CrawlStatus
if ($ContentSource.CrawlStatus -eq [Microsoft.Office.Server.Search.Administration.CrawlStatus]::Idle)
{
Write-Host "Starting Incremental crawl"
$ContentSource.StartIncrementalCrawl();
}
else
{
Write-Host "Another Crawl is already running!"
}
}
}
Bu, kullanıcı her 15 dakikada bir artımlı tarama çalıştırma zorunluluğuyla geldiğinde yararlı oldu!
