--- title: "自定义数据报告" slug: "custom-data-reports" updated: 2026-03-18T16:39:52Z published: 2026-03-18T16:40:27Z canonical: "learn.workforceexperience.hp.com/custom-data-reports" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.workforceexperience.hp.com/llms.txt > Use this file to discover all available pages before exploring further. # 自定义数据报告 ## 简介 HP Workforce Experience 平台(WXP)**分析**模块中的**自定义数据报告**使客户能够收集标准 WXP Insights 代理无法获得的设备级数据。用户上传 PowerShell 脚本(以 JSON 格式打包),在选定的设备组间执行,并在 WXP 内生成结构化分析报告。 此功能支持: - 基于脚本的评估数据检索 - 自定义数据报告创建(每个租户最多10个) - 实时进展监测 - 可点击KPI仪表盘 - Excel(XLS)导出功能 - 设备级钻探 ### 先决条件与入学条件 #### 订阅要求 客户必须拥有以下其中一项订阅: - WXP职业赛 - WXP 专业版 - WXP 精英 #### 基于角色的访问(RBAC) 具有以下角色的用户可以运行脚本并创建或查看自定义数据报告: - IT管理员 - 合作伙伴服务专员 - 合作伙伴管理员(授权和非授权入职) 这些角色可以完全使用该功能。 具有以下角色的用户可以查看自定义数据报告,但不能运行脚本: - 惠普支持管理员 - 举报管理员 对于这些角色,取消和重新开始选项不可用。他们可以下载符合条件的报告,但不能发起或取消任务。其他所有职位都无法使用此功能。 对于合作伙伴角色,必须先选定客户租户,才能提供功能。 自定义数据报告功能中执行的操作会被保留在审计日志中。 1. ### 脚本需求与数据处理 #### 剧本格式 脚本输出必须以 JSON 格式生成。脚本文件定义了: - 脚本元数据 - 执行性质 - 可选参数 - 期望输出模式 - 报告中数据显示的顺序 执行时使用PowerShell,但上传的工件必须遵循定义的JSON包装格式。 #### 示例 ```plaintext Sample script for reference, to get OS and device information: sample script for reference: #Requires -Version 5.1 function Try-Get { param([ScriptBlock]$Block) try { & $Block } catch { $null } } function Round2 { param([double]$n) return [math]::Round($n, 2) } # --- Collect Data --- $os    = Try-Get { Get-CimInstance Win32_OperatingSystem } $comp  = Try-Get { Get-CimInstance Win32_ComputerSystem } $bios  = Try-Get { Get-CimInstance Win32_BIOS } $cpu   = Try-Get { Get-CimInstance Win32_Processor | Select-Object -First 1 } $hostname    = $env:COMPUTERNAME $osName      = if ($os) { $os.Caption } else { $null } $osBuild     = Try-Get { (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild } $mfgr        = if ($comp) { $comp.Manufacturer } else { $null } $model       = if ($comp) { $comp.Model } else { $null } $cpuName     = if ($cpu) { $cpu.Name } else { $null } $ramTotalGB  = if ($comp) { Round2($comp.TotalPhysicalMemory / 1GB) } else { $null } $systemType  = if ($comp) { $comp.SystemType } else { $null } # --- OS Install Date (robust: WMI first, registry fallback) --- $osInstall = $null # Try WMI DMTF date if ($os -and $os.InstallDate -and $os.InstallDate.Length -ge 8) {     try {         $osInstall = [Management.ManagementDateTimeConverter]::ToDateTime($os.InstallDate).ToString('yyyy-MM-dd')     } catch { $osInstall = $null } } # Fallback: registry InstallDate (Unix epoch seconds) if (-not $osInstall) {     try {         $reg = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'         if ($reg.InstallDate -and [int]$reg.InstallDate -gt 0) {             $epoch = [datetime]'1970-01-01T00:00:00Z'             $osInstall = ($epoch.AddSeconds([int]$reg.InstallDate)).ToLocalTime().ToString('yyyy-MM-dd')         }     } catch { } } # --- Last patch info (non-admin) --- $lastPatch = $null $patches   = Try-Get { Get-HotFix } if ($patches) {     $latest = $patches | Sort-Object -Property InstalledOn -Descending | Select-Object -First 1     if ($latest) { $lastPatch = '{0} on {1}' -f $latest.HotFixID, ($latest.InstalledOn.ToString('yyyy-MM-dd')) } } # --- Build JSON Object (10 fields) --- $payload = [pscustomobject]@{     Hostname        = $hostname     OSName          = $osName     OSBuild         = $osBuild     Manufacturer    = $mfgr     Model           = $model     CPUName         = $cpuName     RAMTotalGB      = $ramTotalGB     SystemType      = $systemType     OSInstallDate   = $osInstall     LastPatch       = $lastPatch } ``` #### 样本报告 ![](https://cdn.us.document360.io/c9ecd56a-08d4-4e2f-ab71-60540f7ba8f3/Images/Documentation/image-WD0Z1WVW.png?sv=2026-02-06&spr=https&st=2026-11-03T20%3A22%3A31Z&se=2026-11-03T21%3A22%3A31Z&sr=c&sp=r&sig=AvkkhJRtYEnDBb6Xro01pLUd2a%2FZ3bQOVIf3bFlFi70%3D) #### JSON 输出结构(报告限制) 报告仅支持单层JSON层级结构。 **支持格式示例:** ```plaintext { "BIOSVersion": "1.23.4", "ThinkCellEnabled": "True", "AIExtensionDetected": "Yes" } ``` **不支持格式示例:** ```plaintext { "Device": { "BIOS": { "Version": "1.23.4" } } } ``` 如果返回嵌套结构,数据不会以结构化列形式渲染。相反,它出现在标准外(StdOut)类别。 > **注**: > > - **URL 处理**:脚本输出中接受 URL。在适用的报告视图中,URL 会以可点击链接的形式出现。 > - **翻译处理**:数据以脚本返回的相同格式显示,无需翻译或修改。 > - **日期和时间处理**:脚本输出中返回的日期和时间值显示为返回时的样子。它们不会被转换或归一化到任何时区。这确保了脚本的原始忠实度,无需后台转换。 1. ### 创建自定义数据报告 请按照以下步骤获取标准WXP Insights遥测无法获得的设备数据。 1. 登录WXP。主**页显示** 2. 在WXP左侧菜单中,点击 **分析** > **自定义数据报告**。现有报告会被显示出来。 3. 点击 **添加**。显示“ **添加报告** ”页面,用于选择或上传脚本进行自定义数据收集。 4. 每个脚本显示一个 **描述**、 **版本**和 **操作**。 1. 列表会自动筛选以显示评估脚本。 5. 如果参数被定义,它们是预填充且可编辑的。 6. 通过选择一个或多个小组来选择受众。向下滚动以计算所选受众中的设备总数。 1. 设备数量显示了所选组中独立设备的数量。 2. 如果设备属于多个组,脚本只在该设备上运行一次。 7. 为报告添加标题和可选描述。 8. 发布剧本。 > **租户限制**:一个租户最多可拥有10份自定义数据报告。要创建第十一份报告,至少必须删除一份现有报告。任何拥有报告查看权限的用户都可以访问租户内的所有自定义数据报告,无论是谁创建的。 1. ### 自定义数据报告列表表 以下列目显示: - 报告名称与描述 - 创作者 - 诞生之年 - 整体状况 - 进行中 - 已完成(脚本执行开始后最长24小时内) - 已过期 - 取消 - 出口 - 删除 适用以下验证规则: - 不允许批量删除。 - 不允许批量出口。 - 状态为“进行中”的报告无法删除。 - 状态为已完成、取消或过期的报告可以被删除。 - 可下载状态为“进行中”、“已完成”或“取消”的报告。 - 过期报告无法下载。 1. ### 隐私与安全 #### IT 管理员(首次使用,每个租户) 当IT管理员首次在租户内创建自定义数据报告时,必须接受相关条款。该确认只会显示一次,且仅显示给该租户中的第一个IT管理员。后续的IT管理员不会被提示。 #### 合作伙伴管理员或服务专员 当代表客户创建自定义数据报告时,用户必须在每个客户租户中接受一次条款。可以接受的是按租户使用追踪器。 1. ### 查看和监控自定义数据报告 每个自定义数据报告显示以下内容: - 报告名称与描述 - 剧本名称(链接) - 受众定义 - 设备总数 - 开始日期和时间 - 完工日期与时间 - 有效期 - 报告状态 - 进行中 - 完工 - 取消 - 已过期 - 下载选项 - 删除选项(如果符合条件) > **注**:剧本仅运行一次。它不是连续播出,也不是定期播出。不过,用户可以随时运行。 #### 进度条 进度条显示如下: - 已完成的设备 - 出错设备 - 非处理设备 - 总观众 ### 取消报告 只有当状态显示为“进行中”时,你才能取消报告。取消时: - 状态更新为取消。 - 举报页面显示取消的用户和取消时间。 - 随后出现了 **“重启** ”选项。 ### 重新启动报告 您可以重新启动处于以下状态的报告: - 完工 - 取消 - 已过期 **行为:** - 所有原始设备都会重启。 - 历史数据被删除。 - 剧本、参数和受众都无法更改。 - 如果群体成员发生变化,受众可能会有所不同。 1. ### 到期规则 自定义数据报告在脚本执行开始后11天失效(24小时完成窗口加10天保留期),若未满24小时,则在所有设备显示已完成或错误状态后10天失效。 如果报告被取消,则在取消后10天内失效。 > 过**期报告:** > > - 无法下载。 > - 设备页面上的数据被移除。 1. ### 查看已发布的自定义数据报告 #### 报告中可点击的关键绩效指标(KPI) KPI根据设备状态显示: - 进行中 - 完工 - 错误 - 未处理 **行为:** - KPI不受表格过滤的影响。 - 点击KPI会应用表格筛选。 - 支持多选关键绩效指标过滤器。 - 滤芯会保留在每个标签片上,直到取出。 - 筛选器不会在内容和详情标签页之间转移。 #### 查看内容标签页 **内容**标签只显示已完成状态的设备。 默认排序基于序列号。 以下列目显示。 - 设备序列号(链接到相应设备详情页面) - 设备名称 - 每个数据元素一列 - 更改会传递到设备详情页面 - 输出(标准化) - 开赛时间 如果没有返回数据,会显示提示,引导用户进入 **“详细信息** ”标签页。 #### 查看详情标签页 **详情**标签显示受众中定义的所有设备,无论状态如何。此标签主要用于排查状态 非完成的设备。 以下是默认排序顺序: 1. 错误 2. 进行中 3. 未处理 4. 完工 以下列目显示: - 设备序列号 - 设备名称 - 最后登录用户 - 脚本退出代码 - 输出(链接至标准输出或错误视图) 1. ### 导出自定义数据报告 用户可以导出筛选结果到Excel(XLS)文件,该文件包含两个标签页: - 内容 - 详情 您可以导出以下状态的报告: - 进行中 - 完工 - 取消 > **注意**:过期报告无法导出。 1. ### 访问设备详情页面 您可以通过点击自定义数据报告**内容或****详情**标签页中列出的任何序列号,打开对应的设备详情页面。这为该设备收集的所有自定义数据提供了便捷的中心访问方式,提高了故障排除效率。 **自定义数据**标签包括: - 自定义数据报告链接 - 每个捕获的数据元素和值 - 报告到期日 - 现状 - 剧本名称 - 脚本退出代码 - 输出链接 - 下载XLS选项 过期的数据是看不到的。 > **注意**:关于已完成、取消或过期的报告: > > - 如果脚本被删除或所有组都被删除,显示的行动号召是 **“创建**”。 > - 如果脚本和至少一个组仍然存在,显示的行动号召是“ **重启**”。 1. ### 利用自定义数据报告 API 欲了解更多信息,请参阅我们的开发者门户文档,介绍允许客户查询自定义数据报告的 API: [https://developers.workforceexperience.hp.com/docs/v1/customdatareport](https://developers.workforceexperience.hp.com/docs/v1/customdatareport) ### 联系我们 如需帮助,请 [创建支持案件](https://learn.workforceexperience.hp.com/docs/zh-cn/creating-a-support-case) 或发送邮件 `support@wxp.hp.com`。