关于PowerShell中Win32_DiskDrive的MediaType识别外部硬盘的疑问
关于Win32_DiskDrive中MediaType字段的问题解答
1. MediaType标识外部硬盘的一致性
大部分常规外接硬盘(如USB、Thunderbolt接口)的MediaType会稳定返回External hard disk media,内部硬盘则返回Fixed hard disk media,一致性较好。但存在少数例外情况:
- 通过eSATA接口连接的外接硬盘,可能被识别为
Fixed hard disk media; - 部分厂商的特殊存储设备,可能返回非标准的MediaType值。
2. 能否用MediaType筛选外部硬盘
可以将MediaType作为筛选的核心条件,但为了避免误判,建议结合其他属性(比如PNPDeviceID)做双重验证。例如,通过PNPDeviceID中是否包含USB、USBSTOR这类关键词,来补充判断设备是否为外接存储。
示例优化命令:
Get-WmiObject -Class Win32_DiskDrive | Where-Object { $_.MediaType -eq 'External hard disk media' -or $_.PNPDeviceID -match 'USB' } | Select-Object PNPDeviceID, MediaType
3. 非英语系统下的翻译问题
必须考虑本地化问题!MediaType字段是随系统语言翻译的,非英语环境下会返回对应语言的文本。比如中文系统中,外部硬盘的MediaType会显示为外部硬盘媒体,而非英文原句。
如果需要跨多语言系统通用的筛选逻辑,更可靠的方式是依赖PNPDeviceID的关键词匹配或InterfaceType属性(外接硬盘的InterfaceType通常为USB、Thunderbolt等),而非直接匹配MediaType的文本内容。
内容的提问来源于stack exchange,提问作者Farziddin Doniyorov
相关产品推荐
相关产品推荐

