当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 导出 SharePoint 2007 搜索爬网日志错误

作者:精品下载站 日期:2024-12-14 13:47:06 浏览:16 分类:玩电脑

使用 PowerShell 导出 SharePoint 2007 搜索爬网日志错误


要求:我发现搜索爬网日志中记录了许多错误,我想对它们进行分析。所以需要 CSV 格式的它们。

解决方案:让我们使用此 PowerShell 脚本将搜索爬网错误导出到 CSV:


 #Load SharePoint Assemblies
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search")
 
 #Web Application URL
 $url = "https://sharepoint.crescent.com"
 $csID = 4  #Content source id - Local SharePoint sites
      
 #Objects to get Crawl History
 $site = new-Object Microsoft.SharePoint.SPSite($url);
 $context = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($site);
 $logViewer = new-object Microsoft.Office.Server.Search.Administration.logviewer ($context)
   
 $crawlLogFilters = New-Object Microsoft.Office.Server.Search.Administration.CrawlLogFilters
 
 $EndDate = [System.DateTime]::Now
 $StartDate=$endDate.AddDays(-1)
 
 #Content Source Id
 $csProp=[Microsoft.Office.Server.Search.Administration.CrawlLogFilterProperty]::ContentSourceId 
 $crawlLogFilters.AddFilter($csProp, $csID)
 #Get all Errors
 $crawlLogFilters.AddFilter([Microsoft.Office.Server.Search.Administration.MessageType]::Error)  
 #Add Start Date and End Date
 $crawlLogFilters.AddFilter($startDate, $endDate)
 
$startNum = 0
$errorItems += $logViewer.GetCurrentCrawlLogData($crawlLogFilters, ([ref] $startNum))

while($startNum -ne -1)
{
  $crawlLogFilters.AddFilter("StartAt", $startNum)
  $startNum = 0; 
  $errorItems += $logViewer.GetCurrentCrawlLogData($crawlLogFilters, ([ref] $startNum))
  #Write-Host "Processing $startNum";
}

$errorItems | Export-CSV "d:\Backup\crawllog.csv" -notypeinformation

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯