我正在使用Powershell脚本来自动化SharePoint 2016本地流行趋势报告。 为此,我将SearchServiceApplication与方法“ GetRollupAnalyticsItemData”结合使用,该方法可以很好地获得总匹配数,唯一身份用户等。
现在,我试图每天和每月获得点击量和用户。为此,我找到了“ GetHitCountForDay(DateTime)”和“ GetHitCountForMonth(DateTime)”方法。
每月工作正常,我得到了预期的输出,但是尝试使用'GetHitCountForDay'方法时收到错误消息。错误是:
Exception calling "GetHitCountForDay" with "1" argument(s): "Specified argument was out of the range of valid values.
Parameter name: date"
At C:\Users\****\Desktop\Untitled4.ps1:11 char:1
+ $result.GetHitCountForDay($FilterDate)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentOutOfRangeException
我试图将DateTime更改为仅Date,但这完全给出了另一个错误。
预期的输出将是该天特定日期的点击数的整数(就像使用month方法一样,其中不会出现错误,并且我得到的是每月点击数的整数)。
我的代码:
searchApp = Get-SPEnterpriseSearchServiceApplication
$site = Get-SPSite http://sitecollection
$result = $searchApp.GetRollupAnalyticsItemData(1,[System.Guid]::Empty,$Site.ID,[System.Guid]::Empty)
$FilterDate = Get-Date "2018-12-20"
$result.GetHitCountForDay($FilterDate)
$result.GetHitCountForMonth($FilterDate)
我需要以任何方式更改filterdate还是我在代码中做错了什么?
谢谢
答案 0 :(得分:0)
您做对了,但是默认情况下数据仅存储14天(最大)。
$ssp = Get-SPEnterpriseSearchServiceApplicationProxy
$config = $ssp.GetAnalyticsTenantConfiguration([Guid]::Empty)
$config.EventTypeDefinitions | ? { $_.EventTypeId -eq 1 }
寻找RecentPopularityTimeframe
。
参考: