【问题标题】:Powershell COM portsPowershell COM 端口
【发布时间】:2015-08-18 15:35:32
【问题描述】:

设备管理器可以识别 USB HASP 加密狗和 USB 串行转换器,但我的 Win7 或 Win8.1 机器上的 Powershell [System.IO.Ports.SerialPort]::getportnames()" 无法识别。 还有什么其他方法可以在 Powershell 中识别我的 COM 端口?

【问题讨论】:

    标签: powershell serial-port


    【解决方案1】:
    Get-WmiObject "win32_serialport"
    

    Get-WmiObject "win32_POTSModem"
    

    还显示有关 COM 端口的信息,但特定于设备端口和 com 调制解调器。 输出提供的端口名称可能比 [System.IO.Ports.SerialPort]::getportnames() 中的少,但在 win32_POTSModem 中,您可以获得已安装和现在断开连接的设备的信息(如 usb-com 调制解调器)

    【讨论】:

    • 感谢您的建议。不幸的是,这两台机器都没有产生响应。但是,在再次重试 [System.IO.Ports.SerialPort]::getportnames() 时,我在 Win7 机器上得到了 COM5 响应,但在 Win8.1 上没有任何响应
    • 在 Win7 和 Win8.1 机器上的进一步测试将 [System.IO.Ports.SerialPort]::getportnames() 的使用与设备管理器的结果进行了比较。 USB 端口 [System.IO... 设备管理器 USB 串行转换器 Win7 A COM5 Port_#0001.Hub_#0001 B COM5 Port_#0003.Hub_#0001 C COM5 Port_#0002.Hub_#0001 Win8.1 D - Port_#0003 .Hub_#0003 E - Port_#0004.Hub_#0003 F - Port_#0001.Hub_#0004 Powershell 在 Win7 上给出结果,但在 Win8.1 上没有。 .