以下を実行して現在のクロールを取得し、そこから最後にクロールが完了した日付を特定できます。
# Get the Search App from Sharepoint
$searchApp = Get-SPEnterpriseSearchServiceApplication "My Search Service"
Get-SPEnterpriseSearchCrawlContentSource -SearchApplication $searchapp
$contentsource = Get-SPEnterpriseSearchCrawlContentSource "MyCrawl" -SearchApplication $searchApp
$contentsource.CrawlCompleted
しかし、クロールが完了したのはこれが最後です。最後のフルクロールの日付が必要です。
クロール履歴で情報を確認できます。しかし、クロール履歴を取得しようとすると ( http://blogs.msdn.com/b/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-aを参照) -csv-file-in-powershell.aspx ) 以下を使用して、実際に操作できるオブジェクト (私が知る限り、その 1 つの大きな文字列コンテナー) を取得していないようで、ID でいっぱいです。
$s = new-Object Microsoft.SharePoint.SPSite("http://portal");
$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);
$h = new-Object Microsoft.Office.Server.Search.Administration.CrawlHistory($c)
クロール履歴を表すオブジェクトを取得して、クロール名と Type = full でフィルタリングできるようにしたいと考えていました。
私は周りを検索しましたが、どこにも答えが見つかりません。(CrawlHistory クラスは非推奨になっていることにも注意してください)。
考えや提案はありますか?