如何使用Powershell获取Sharepoint 2010中上次完全抓取的日期?

时间:2013-05-09 13:03:31

标签: sharepoint powershell web-crawler

我可以运行以下命令来获取当前抓取并从那里确定上次抓取完成日期。

# 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)时,我似乎没有得到一个我可以真正使用的对象(就我所知,它是一个大字符串容器)并且它是充满了身份证。

 $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类已被弃用。)

有任何想法/建议吗?

1 个答案:

答案 0 :(得分:1)

你很亲密。只需要调用它: $ h.GetCrawlHistory()并解析它。