首页 > 解决方案 > 在 Powershell 中识别外部和内部硬盘驱动器

问题描述

我现在正在努力区分外部驱动器和内部驱动器。我用过Get-Drive, Get-Disk, Get-PhysicalDisk, Get-CimInstance Win32_LogicalDisk,但它们几乎都一样。如果我尝试识别我的外部驱动器,我真的无法弄清楚它们之间的区别是什么?谢谢

标签: powershell

解决方案


Get-PhysicalDisk是我喜欢的那个。检查属性FriendlyNameModel和/或MediaType类似的,并查看其中一个型号名称是否与您的外部硬盘驱动器上的名称匹配。我还将磁盘空间从字节转换为 GB,以便更容易区分驱动器之间的差异:

Get-PhysicalDisk | 
  Select DeviceID,MediaType,
    @{l='Size (GB)';e={[math]::Round($_.Size / 1GB)}},
    FriendlyName,Model 

DeviceID     : 0
MediaType    : SSD
Size (GB)    : 119
FriendlyName : SAMSUNG MZFLV128HCGR-000MV
Model        : SAMSUNG MZFLV128HCGR-000MV

另一种检查方法是通过 WMI,Get-CimInstance win32_diskdrive如下所示:

Get-CimInstance win32_diskdrive | 
  Select Index,InterfaceType,Manufacturer,MediaType,Model,
    @{l='Size (GB)';e={[math]::Round($_.Size / 1GB)}}

Index         : 0
InterfaceType : SCSI
Manufacturer  : (Standard disk drives)
MediaType     : Fixed hard disk media
Model         : SAMSUNG MZFLV128HCGR-000MV
Size (GB)     : 119

更好的是,通过 USB 连接的硬盘驱动器通常会有一个InterfaceTypeUSB但您必须尝试一下才能看到。


推荐阅读