根据 Windows 命令行(不是 Powershell)上的驱动器号获取硬盘序列号并存储在变量中

根据 Windows 命令行(不是 Powershell)上的驱动器号获取硬盘序列号并存储在变量中

我知道我可以通过以下方式获取所有列出的硬盘的序列号:

wmic diskdrive list brief

或者具体来说

wmic diskdrive get serialnumber

我可以从逻辑磁盘获取驱动器号:

wmic logicaldisk list brief

或者具体来说

wmic logicaldisk get deviceid

但是,如何将驱动器号 (logicaldisk DeviceID) 与物理磁盘 ID (diskdrive DeviceID) 关联起来?如果可能的话,我想从批处理文件中的命令行执行此操作。

答案1

如果将来有人需要的话,我找到了一个解决方案:

Get-Partition -DriveLetter "C" | Get-Disk | Select-Object Serialnumber | ForEach {$_.SerialNumber}

这将选择分区“C”,并使用 Get-Disk 获取序列号,然后选择具有序列号的对象。由于只有一个对象,因此 ForEach 只会为您提供序列号!

我花了一段时间才完成这项工作,希望这可以为一些人节省一些时间......

答案2

您可以使用以下方式查找磁盘的 GUID磁盘分区

开始>运行>cmd>diskpart>列出磁盘并检查 GPT

开始>运行>cmd>diskpart>列出磁盘>选择磁盘>uniqueid 磁盘并检查磁盘 ID

您也可以使用命令安装卷C://L 获取该分区的GUID。

答案3

由于您的解决方案适用于 PowerShell,因此这里是另一种同时为所有磁盘获取它的方法:

GWMI -namespace root\cimv2 -class win32_volume | FL -property DriveLetter, DeviceID, SerialNumber

相关内容