Powershell列表串行端口+描述

use*_*570 10 powershell serial-port list

我想在我的计算机上创建一个COM端口列表(COM端口+描述).我的观点是创建一个COM端口列表,以便使用USB/RS232转换器与交换机通信.

到目前为止我尝试了什么:

Get-WMIObject Win32_SerialPort | Select-Object DeviceID,Description
Run Code Online (Sandbox Code Playgroud)

但是没有出现所有COM端口(例如:缺少COM11)

另一种尝试:

[System.IO.Ports.SerialPort]::getportnames()
Run Code Online (Sandbox Code Playgroud)

这里我需要的端口存在,但缺少描述.(示例:COM11存在但没有详细信息)

Χpẘ*_*Χpẘ 4

这个怎么样?

$c1 = new-object System.IO.Ports.SerialPort com1
$c1
BaseStream             :
BaudRate               : 9600
BreakState             :
BytesToWrite           :
BytesToRead            :
CDHolding              :
CtsHolding             :
DataBits               : 8
DiscardNull            : False
DsrHolding             :
DtrEnable              : False
Encoding               : System.Text.ASCIIEncoding
Handshake              : None
IsOpen                 : False
NewLine                :

Parity                 : None
ParityReplace          : 63
PortName               : com1
ReadBufferSize         : 4096
ReadTimeout            : -1
ReceivedBytesThreshold : 1
RtsEnable              : False
StopBits               : One
WriteBufferSize        : 2048
WriteTimeout           : -1
Site                   :
Container              :
Run Code Online (Sandbox Code Playgroud)

您可以对从 getportnames() 返回的每个端口执行此操作。您可能需要在每个端口上调用 Dispose() 方法,并在完成收集信息后将 $c1 设置为 $null。