如何查看Configuration Manager的诊断和使用情况数据

适用于: Configuration Manager(current branch)

可以查看Configuration Manager层次结构中的诊断和使用情况数据,以确认它不包含敏感信息或可识别信息。 站点汇总其诊断数据并将其存储在站点数据库的 TEL_TelemetryResults 表中。 它将数据的格式设置为以编程方式可用且高效。

本文中的信息提供了发送到Microsoft的确切数据的视图。 它不用于其他目的,如数据分析。

查看数据库中的数据

使用以下 SQL 命令查看此表的内容并显示发送的确切数据:

SELECT * FROM TEL_TelemetryResults

导出数据

当服务连接点处于脱机模式时,使用服务连接工具将当前数据导出为 CSV) 文件 (逗号分隔的值。 使用 -Export 参数在服务连接点上运行服务连接工具。

有关详细信息,请参阅 使用服务连接工具

单向哈希

某些数据由随机字母数字字符字符串组成。 Configuration Manager使用 SHA-256 算法创建单向哈希。 此过程可确保Microsoft不会收集潜在的敏感数据。 哈希数据仍可用于关联和比较目的。

例如,它捕获每个表名称的单向哈希,而不是在站点数据库中收集表的名称。 此行为可确保不显示任何自定义表名。 然后,Microsoft对默认SQL Server表名执行相同的单向哈希过程。 比较两个查询的结果可确定数据库架构与产品默认值的偏差。 然后,此信息用于改进需要更改SQL Server架构的更新。

查看原始数据时,每行数据中都会显示一个通用哈希值。 此哈希是 支持 ID,也称为层次结构 ID。 它用于将数据与同一层次结构关联,而无需标识客户或源。

单向哈希的工作原理

  1. 从Configuration Manager控制台获取支持 ID。 选择功能区左上角的箭头,然后选择“关于Configuration Manager”。 可以从打开的窗口中选择并复制支持 ID。

  2. 使用以下Windows PowerShell脚本执行支持 ID 的单向哈希。

    Param( [Parameter(Mandatory=$True)] [string]$value )
      $guid = [System.Guid]::NewGuid()
      if( [System.Guid]::TryParse($value,[ref] $guid) -eq $true ) {
      #many of the values we hash are Guids
      $bytesToHash = $guid.ToByteArray()
    } else {
      #otherwise hash as string (unicode)
      $ue = New-Object System.Text.UnicodeEncoding
      $bytesToHash = $ue.GetBytes($value)
    }  
      # Load Hash Provider (https://en.wikipedia.org/wiki/SHA-2)
    $hashAlgorithm = [System.Security.Cryptography.SHA256Cng]::Create()
    # Hash the input
    $hashedBytes = $hashAlgorithm.ComputeHash($bytesToHash)
    # Base64 encode the result for transport
    $result = [Convert]::ToBase64String($hashedBytes)
    return $result
    
  3. 将脚本输出与原始数据中的 GUID 进行比较。 此过程显示如何遮盖数据。

后续步骤

接下来,了解Configuration Manager收集的诊断和使用情况数据的级别: