You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何用PowerShell捕获Microsoft-Windows-Storage-Storport/Health日志?

解决PowerShell捕获Microsoft-Windows-Storage-Storport/Health事件日志的问题
  • 为什么Get-EventLog会报错:Get-EventLog是旧版cmdlet,仅支持传统事件日志(如Application、System),不支持像Microsoft-Windows-Storage-Storport/Health这类基于ETW的现代事件日志,必须用Get-WinEvent。

  • 正确的命令示例:

    1. 获取该日志下的所有事件:
      Get-WinEvent -LogName "Microsoft-Windows-Storage-Storport/Health"
      
    2. 筛选指定InstanceId(如511)的事件:
      Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Storage-Storport/Health"; Id=511}
      
      (用FilterHashtable比直接指定参数更高效,尤其是日志条目较多时)
  • 提取事件的全部详细数据:
    默认输出只显示摘要信息,要查看事件里的所有字段(包括你提到的图示中的数据),可以用以下方法:

    • 单个事件查看完整属性:
      Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Storage-Storport/Health"; Id=511} | Select-Object -Property *
      
    • 把事件数据转为JSON格式,方便查看结构化内容:
      Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Storage-Storport/Health"; Id=511} | ConvertTo-Json -Depth 10
      
    • 提取事件的具体属性值(比如事件描述、相关设备信息):
      Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Storage-Storport/Health"; Id=511} | ForEach-Object {
          [PSCustomObject]@{
              TimeCreated = $_.TimeCreated
              EventId = $_.Id
              Message = $_.Message
              DeviceId = $_.Properties[0].Value # 索引根据实际事件数据调整,可先查看Properties内容确认
          }
      }
      
  • 确认日志是否存在:
    如果仍报错,先确认日志名称是否正确,运行以下命令列出所有包含Storport的日志:

    Get-WinEvent -ListLog *Storport*
    

    确保Microsoft-Windows-Storage-Storport/Health在结果中,若不存在,可能是该日志未启用,需在事件查看器中开启。

内容的提问来源于stack exchange,提问作者shubham kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:24:17