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

PowerShell查询COM口时如何让Get-WMIObject仅输出DeviceID列

解决方法

你只需要调整Select-Object的参数,仅保留你需要输出的DeviceID字段即可,过滤逻辑可以放在字段选择之前执行,不影响筛选结果。

修改后的完整代码如下:

Set-ExecutionPolicy Bypass -Scope CurrentUser
try {
    Get-WMIObject Win32_SerialPort | Where-Object{$_.PNPDeviceID -like "*$env:asset*"} | Select-Object DeviceID
}
catch{
    Write-Warning "Nessuna porta COM trovata, assicurarsi che il dispositivo sia correttamente collegato"
    $LASTEXITCODE = 1
    exit $LASTEXITCODE
}

修改说明

  • 原代码先选择了DeviceID和PNPDeviceID两个字段再做过滤,会导致两个字段都被输出
  • 修改后先执行Where-Object过滤逻辑,再用Select-Object仅选择需要输出的DeviceID字段,输出结果和你预期的格式完全一致
  • 如果你不需要表头和分割线,只想直接输出COM号的纯文本,可以把Select-Object DeviceID替换为Select-Object -ExpandProperty DeviceID即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:39:00