3

我可以运行以下命令来获取当前的爬网,并从那里确定最后一次爬网的完成日期。

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

有什么想法/建议吗?

4

1 回答 1

1

你很近。然后只需要调用它: $h.GetCrawlHistory() 并解析它。

于 2013-06-27T16:27:03.933 回答