【问题标题】:How to remove extra lines from Get-WMIObject output powershell如何从 Get-WMIObject 输出 powershell 中删除多余的行
【发布时间】:2023-03-12 23:20:01
【问题描述】:

我正在运行以下查询以获取视频驱动程序版本号

Get-WmiObject Win32_videoController | where {$_.Name -like "Nvidia*"} | Format-table -HideTableHeaders DriverVersion

它返回我想要的数据加上大约 4 行额外的行。输出前 1 个,输出后 3 个。看起来它不会正确显示在帖子中。

PS F:\> 
Get-WmiObject Win32_videoController | where {$_.Name -like "Nvidia*"} | Format-table -HideTableHeaders DriverVersion

9.18.13.3250                                                                                                                                                                                  



PS F:\> 

【问题讨论】:

    标签: powershell wmi


    【解决方案1】:

    如果您想确定驱动程序版本,请忘记Format-Table。只需这样做:

    Get-WmiObject Win32_VideoController -Filter "Name LIKE 'Nvidia%'" |
      Select-Object -Expand DriverVersion
    

    注意:您还可以将别名 gwmi 用于Get-WmiObject,将select 用于Select-Object。但请注意,根据您的环境,在脚本执行期间可能不存在别名。它们基本上是一种减少交互式控制台所需输入量的方法。

    【讨论】:

    • 非常感谢。这摆脱了垃圾!
    • 有趣的是,select 关键字也可以在您最近编辑之前出现。 selectSelect-Object 是别名还是特定于 powershell 版本?
    • @RBT select 是所有 PowerShell 版本中 Select-Object 的别名。
    • 您可能会有这种感觉,但别名主要是为了减少交互式控制台中的输入量。不建议在脚本中使用别名,b/c 取决于实际环境,它们在执行时可能存在也可能不存在。这就是为什么当我遇到我使用别名而不是完整 cmdlet 名称的旧答案时,我决定扩展别名。
    【解决方案2】:

    不确定这是否是您想要的,但请尝试一下。 这将仅显示“唯一”驱动程序版本。这将摆脱欺骗条目

    Get-WmiObject Win32_videoController | Where {$_.Name -like "Nvidia*"} | Select-Object DriverVersion -Unique | Format-Table -HideTableHeaders
    

    【讨论】:

    • 不幸的是,这仍然给了我额外的行数。
    猜你喜欢
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多