在 SharePoint Server 2013 中配置建议和使用率事件类型

http://technet.microsoft.com/zh-cn/library/jj715889.aspx

适用于: SharePoint Server 2013

利用使用事件,您可以跟踪用户与您网站上的项目进行交互的方式。项目可以是文档、网站或目录项。当用户与您网站上的项目进行交互时,SharePoint Server 2013 会为此操作生成一个使用事件。例如,如果您要监控用移动电话查看一个目录项的频率,则可以跟踪此活动。

本文介绍如何创建自定义使用事件类型,以及如何添加代码以记录自定义使用事件以便它们能够由分析处理组件进行处理。

您可以使用由使用事件生成的数据来显示建议或您网站上的受欢迎的项目。本文还介绍如何通过更改特定使用事件类型的重要性级别来影响建议的显示方式。有关详细信息,请参阅规划 SharePoint Server 2013 中跨网站发布网站的搜索中的“规划使用率分析、使用事件和建议”。

您可以在“热门程度趋势”报告和“最受欢迎的项目”报告中查看所有使用事件类型的统计信息。有关详细信息,请参阅在 SharePoint Server 2013 中查看使用情况报告

本文内容:

开始之前

note注意:

因为 SharePoint 2013 在 Internet Information Services (IIS) 中作为网站运行,所以管理员和用户依赖于浏览器提供的辅助功能。SharePoint 2013 支持受支持的浏览器的辅助功能。有关详细信息,请参阅以下资源:

创建自定义使用事件类型

SharePoint 2013 中有三种默认使用事件类型。您可使用 Windows PowerShell 创建最多 12 种自定义使用事件类型。

创建自定义使用事件类型
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To get a site at the root site collection level:
    $Site = Get-SPSite "http://localhost"
    
    # To get a site below the root site collection level:
    $Site = Get-SPSite "http://localhost/sites/<SiteName>"
    
    # To create a custom usage event type:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $EventGuid = [Guid]::NewGuid()
    $EventName = "<EventTypeName>"
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $newEventType = $tenantConfig.RegisterEventType($EventGuid, $EventName, "")
    $tenantConfig.Update($SSP)

    其中:

    • <SiteName> 是要为其创建自定义使用事件的网站的名称。

    • <EventTypeName> 是要创建的新自定义使用事件类型的名称,例如,BuyEventType

    此过程将为使用事件类型创建一个随机 GUID。添加代码时使用此 GUID 可记录自定义使用事件,如记录自定义使用事件中所述。

    Important重要:

    自定义使用事件类型至多可能要等待三个小时才在系统中可用。但是,要加速此过程,您也可以重新启动 SharePoint 定时服务。

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

记录自定义使用事件

在您创建自定义使用事件类型(如创建自定义使用事件类型中所述)后,您必须将代码添加到事件的发生位置 - 例如,在加载页面时或在用户单击链接或按钮时。随后,此数据将发送到用于记录和处理它的分析处理组件。

如果您使用的是跨网站发布(这将显示发布网站上的目录内容),则必须在索引项目的 URL 上记录使用事件,并覆盖部分网站设置。例如,如果您的已在发布网站上发布的创作网站中有一个目录,则当用户与发布网站上的目录项交互时,此使用事件必须记录到创作网站中的该项目上。此外,您添加的用于记录使用事件的代码必须覆盖发布网站的 SiteId 和 WebId,并由创作网站的 SiteId 和 WebId 替换。

添加用于记录自定义使用事件的代码
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view GUIDs for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
  4. 在 HTML 编辑器中,打开应在其中记录自定义使用事件的文件(例如,内容搜索 Web 部件的显示模板),并添加以下代码:

    window.Log<CustomUsageEventType>ToEventStore = function(url)
    {
        ExecuteOrDelayUntilScriptLoaded(function()
        {
            var spClientContext = SP.ClientContext.get_current();
            var eventGuid = new SP.Guid("<GUID>");
            SP.Analytics.AnalyticsUsageEntry.logAnalyticsAppEvent(spClientContext, eventGuid, url);
            spClientContext.executeQueryAsync(null, Function.createDelegate(this, function(sender, e){ alert("Failed to log event for item: " + document.URL + " due to: " + e.get_message()) }));
        }, "SP.js");
    }Where:
    • <CustomUsageEventType> 是自定义事件的名称,例如,BuyEventType

    • <GUID> 是使用事件类型的数字 ID - 例如,4e605543-63cf-4b5f-aab6-99a10b8fb257

  5. 在 HTML 编辑器中,打开引用自定义使用事件的文件,并添加以下代码:

    # The example below shows how a custom usage event type is referred to when a button is clicked: 
    <button onclick="Log<CustomUsageEventType>ToEventStore('<URL>')"></button>

    其中:

    • <CustomUsageEventType> 是自定义事件类型的名称。

    • <URL> 是应将使用事件记录到的项目的完整 URL,例如,http://contoso.com/faq

添加用于记录自定义使用事件的代码并覆盖网站设置
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view GUIDs for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
  4. 在 HTML 编辑器中,打开应在其中记录自定义使用事件的文件(例如,内容搜索 Web 部件的显示模板)。以下示例显示如何覆盖当前 SiteId、WebId 和 UserId。

    window.Log<CustomUsageEventType>ToEventStore = function(url, siteIdGuid, webIdGuid, spUser)
    {
        ExecuteOrDelayUntilScriptLoaded(function()
        {
          var spClientContext = SP.ClientContext.get_current();
          var eventGuid = new SP.Guid("<GUID>");
    SP.Analytics.AnalyticsUsageEntry.logAnalyticsAppEvent2(spClientContext, eventGuid, url, webIdGuid, siteIdGuid, spUser);
          spClientContext.executeQueryAsync(null, Function.createDelegate(this, function(sender, e){ alert("Failed to log event for item: " + document.URL + " due to: " + e.get_message()) }));
        }, "SP.js");
    }

    其中:

    • <CustomUsageEventType> 是自定义事件类型的名称 - 例如,BuyEventType

    • <GUID> 是使用事件类型的数字 ID - 例如,4e605543-63cf-4b5f-aab6-99a10b8fb257

  5. 在 HTML 编辑器中,打开引用自定义使用事件类型的文件,并添加以下代码:

    # The example below shows how a custom usage event type is referred to when the "Buy!" button is clicked:
    <button onclick="Log<CustomUsageEventType>ToEventStore('<URL>', new SP.Guid('{<SiteId GUID>}'), new SP.Guid('{<WebId guid}>'), '<UserName>')">Buy!</button>

    其中:

    • <CustomUsageEventType> 是自定义事件类型的名称 - 例如,BuyEventType

    • <URL> 是在托管属性 OriginalPath 中找到的 URL。

    • <SiteId GUID> 是托管属性 SiteID 的 GUID。

    • <WebId GUID> 是托管属性 WebId 的 GUID。

    • <UserName> - 例如,可以是用于标识具有匿名用户的网站上的用户的 Cookie ID。

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

记录默认使用事件

若要添加引用默认使用事件类型(例如,视图)的代码,您必须将代码添加到事件的发生位置。

如果您使用的是跨网站发布(这将显示发布网站上的目录内容),则必须在索引项目的 URL 上记录使用事件,并覆盖部分网站设置。例如,如果您的已在发布网站上发布的创作网站中有一个目录,则当用户与发布网站上的目录项交互时,此使用事件必须记录到创作网站中的该项目上。此外,您添加的用于记录使用事件的代码必须覆盖发布网站的 SiteId 和 WebId,并由创作网站的 SiteId 和 WebId 替换。

添加代码以记录默认使用事件
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
  4. 在 HTML 编辑器中,打开应在其中记录自定义使用事件的文件(例如,内容搜索 Web 部件的显示模板),并添加以下代码:

    window.Log<DefaultUsageEventType>ToEventStore = function(url)
    {
        ExecuteOrDelayUntilScriptLoaded(function()
        {
            var spClientContext = SP.ClientContext.get_current();
            SP.Analytics.AnalyticsUsageEntry.logAnalyticsEvent(spClientContext, <EventTypeId>, url);
            spClientContext.executeQueryAsync(null, Function.createDelegate(this, function(sender, e){ alert("Failed to log event for item: " + document.URL + " due to: " + e.get_message()) }));
        }, "SP.js");
    }

    其中:

    • <DefaultUsageEventType> 是默认使用事件类型的名称 - 例如,Views

    • <EventTypeId> 是使用事件类型的数字 ID - 例如,1

  5. 在 HTML 编辑器中,打开引用默认使用事件的文件,并添加以下代码:

    # The example below shows how a default usage event type is referred to on a page load:
    <body onload=”Log<DefaultUsageEventType>ToEventStore('<URL>')”> 

    其中:

    • <DefaultUsageEventType> 是默认使用事件类型的名称 - 例如,Views

    • <URL> 是应将使用事件记录到的项目的完整 URL,例如,http://contoso.com/careers

  6. 保存该文件。

添加用于记录默认使用事件的代码并覆盖网站设置
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
  4. 在 HTML 编辑器中,打开应在其中记录自定义使用事件的文件(例如,内容搜索 Web 部件的显示模板)。以下示例显示如何覆盖当前 SiteId、WebId 和 UserId。

    window.Log<DefaultUsageEventType>ToEventStore = function(url, siteIdGuid, webIdGuid, spUser)
    {
        ExecuteOrDelayUntilScriptLoaded(function()
        {
          var spClientContext = SP.ClientContext.get_current();
          SP.Analytics.AnalyticsUsageEntry.logAnalyticsEvent(spClientContext, <EventTypeId>, url, webIdGuid, siteIdGuid, spUser);
    spClientContext.executeQueryAsync(null, Function.createDelegate(this, function(sender, e){ alert("Failed to log event for item: " + document.URL + " due to: " + e.get_message()) }));
        }, "SP.js");
    }

    其中:

    • <DefaultUsageEventType> 是默认事件类型的名称 - 例如,Views

    • <EventTypeId> 是使用事件类型的数字 ID - 例如,1

  5. 在 HTML 编辑器中,打开引用默认使用事件类型的文件,并添加以下代码:

    # The example below shows how a default usage event type is referred to on a page load:
    <body onload=”Log<DefaultUsageEventType>ToEventStore('<URL>', new SP.Guid('{<SiteId GUID>}'), new SP.Guid('{<WebId GUID>}'), '<UserName>')”>

    其中:

    • <DefaultUsageEventType> 是默认事件类型的名称 - 例如,Views

    • <URL> 是在托管属性 OriginalPath 中的 URL。

    • <SiteId GUID> 是托管属性 SiteID 的 GUID。

    • <WebId GUID> 是托管属性 WebId 的 GUID。

    • <UserName> - 例如,可以是用于标识具有匿名用户的网站上的用户的 Cookie ID。

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

更改使用事件类型的重要性级别

使用事件类型属性 RecommendationWeight 是一个数值,该数值显示某个使用事件类型相对于建议计算中使用的其他使用事件类型的重要性级别。默认查看次数使用事件类型具有的预配置的 RecommendationWeight 值为 1。其他默认使用事件类型(显示的建议点击的建议)以及所有自定义使用事件类型具有的 RecommendationWeight 值为 0。若要提高建议计算中的使用事件类型的重要性,请更改 RecommendationWeight 参数的值。可用的最高重要性级别为 10。

更改使用事件类型的重要性级别
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
    
    # To get a usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    
    # To change the importance level of a usage event type:
    $event.RecommendationWeight = <RecommendationWeightNumber>
    $tenantConfig.Update($SSP)
    
    # To verify the changed importance level for the usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    $event

    其中:

    • <EventTypeId> 是您要更改其权重的使用事件类型的数值 ID,例如,256

    • <RecommendationWeightNumber> 是您要应用到用户事件类型的重要性级别,例如,4

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

更改使用事件类型的“最近”时间段

使用事件类型属性 RecentPopularityTimeframe 是一个数值,该数值定义“最受欢迎的项目”报告中的“最近”时间段。“最受欢迎的项目”报告按照使用事件类型显示库或列表中所有项目的最受欢迎的项目(例如,库或列表中查看次数最多的项目)。该报告可按时间段“最近”或“曾经”进行排序。默认情况下,“最近”时间段将设置为每种使用事件的最近 14 天。您可以将其更改为一个介于 1 天和 14 天之间的时间段。

更改使用事件类型的“最近”时间段
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
    
    # To get a usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    
    # To change the Recent time span for a usage event type:
    $event.RecentPopularityTimeFrame = <TimeFrame>
    $tenantConfig.Update($SSP)
    
    # To verify the changed Recent time frame for the usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    $event

    其中:

    • <EventTypeId> 是您要更改其“最近”时间段的使用事件类型的数值 ID,例如,256

    • <TimeFrame> 是您要应用到用户事件类型的新“最近”时间段,例如,7

    note注意:

    系统仅在运行 Usage Analytics 计时器作业后更新对“最近”时间段的任何更改。

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

启用和禁用匿名用户的使用事件日志记录

在未连接到帐户的情况下浏览网站内容的用户称作“匿名用户”。仅为匿名用户的日志记录启用“查看次数”事件类型。默认情况下,将为匿名用户禁用自定义使用事件的日志记录。

启用匿名用户的使用事件日志记录
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
    
    # To get a usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    
    # To enable the logging of anonymous users:
    $event.Options = [Microsoft.Office.Server.Search.Analytics.EventOptions]::AllowAnonymousWrite
    $tenantConfig.Update($SSP)
    
    # To verify that the logging of anonymous users has been enabled, i.e. that the Options property is set to AllowAnonymousWrite:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    $event

    其中:

    • <EventTypeId> 是您要为匿名用户的日志记录启用的使用事件类型的数值 ID,例如,256

禁用匿名用户的使用事件日志记录
  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 Windows PowerShell cmdlet 的服务器上的 Administrators 组。

    • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 2013 cmdlet 的权限。

    note注意:

    如果您不具有相关权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 Windows PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 启动 SharePoint 2013 Management Shell。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 Management Shell”。

    • 对于 Windows Server 2012:

      • 在“开始”屏幕上,单击“SharePoint 2013 Management Shell”。

        如果“SharePoint 2013 Management Shell”不在“开始”屏幕上:

      • 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 Management Shell”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅Windows Server 2012 中的常见管理任务和导航

  3. 在 Windows PowerShell 命令提示符处,键入以下命令:

    # To view EventTypeId for all usage event types:
    $SSP = Get-SPEnterpriseSearchServiceApplicationProxy
    $SSP.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft
    
    # To get a usage event type:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Guid]::Empty)
    $event = $tenantConfig.EventTypeDefinitions | where-object { $_.EventTypeId -eq <EventTypeId> }
    
    # To disable the logging of anonymous users:
    $event.Options = [Microsoft.Office.Server.Search.Analytics.EventOptions]::None
    $tenantConfig.Update($SSP)
    
    # To verify that logging of anonymous users has been disabled, i.e. that the Options property is set to None:
    $tenantConfig = $SSP.GetAnalyticsTenantConfiguration([Gui

    其中:

    • <EventTypeId> 是您要为匿名用户的日志记录禁用的使用事件类型的数值 ID,例如,256

    note注意:

    对于默认使用事件类型“查看次数”,您不能禁用匿名用户的日志记录。

note注意:

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

原文地址:https://www.cnblogs.com/frankzye/p/3382400.html