如何使用 C# 获取磁盘 ID(不是“序列号”)?

问题描述 投票:0回答:3

我想使用 C# 检索我的硬盘驱动器的 Disk ID

我不想要大多数文章中提到的“序列号”,因为我的盒子上没有它。

要检查此ID,您可以在Windows上运行“cmd”:

  diskpart
  list disk
  select disk 0
  detail disk

输出如下:

  HGST HTS725050A7E630
  Disk ID: 1033D54D
  ...

在我的虚拟盒子上,输出是

VBOX HARDDISK
Disk ID: 22452244

磁盘ID似乎是一个32位整数。

有没有办法使用 C# 获得相同的结果(使用 API 而不是解析 cmd 输出)?

c# disk
3个回答
2
投票

该值存储为“签名”。您可以在获得序列号的地方获得此信息。

ManagementObjectSearcher win32DiskDrives = new ManagementObjectSearcher("select * from Win32_DiskDrive");
foreach (ManagementObject win32DiskDrive in win32DiskDrives.Get())
{
    Console.WriteLine("{0:X}", win32DiskDrive.Properties["Signature"].Value);
}

1
投票

您可以使用 WMI 和 Win32_DiskDrive 类。同时存在

DeviceID
SerialNumber
属性,您可能想检查它是否包含您要查找的值。


0
投票

只是想添加一个有趣的信息,即

diskpart
(或 macrium 反射)显示的磁盘 ID 与 Wmi cmd/powershell 命令(如
Get-WmiObject -Class Win32_DiskDrive
wmic diskdrive
)显示的签名 ID 处于不同的数字系统中。这些 Wmi 结构也可以在 C 或 C# 程序或 powershell 脚本中使用。
这可能会非常令人困惑,并且可能表明磁盘 ID 和签名之间存在差异,但这些数字实际上是相同的,但以不同的数字系统编写。

在 Diskpart(或 macrium Reflect)中显示磁盘 ID 采用十六进制数字系统。
在 Wmi 命令中,签名采用十进制数字系统。

diskpart 的输出示例:

diskpart
select disk 0
detail disk
KINGSTON SUV400S37120G
Disk ID: 006BDFF5
Type   : SATA

select disk 1
detail disk
SAMSUNG HM160HI SCSI Disk Device
Disk ID: 04E77F0E
Type   : USB

Wmi 命令的输出示例:

Get-WmiObject -Class Win32_DiskDrive | select Description, DeviceID, Model, Signature

Description DeviceID           Model                            Signature
----------- --------           -----                            ---------
Disk drive  \\.\PHYSICALDRIVE1 SAMSUNG HM160HI SCSI Disk Device  82280206
Disk drive  \\.\PHYSICALDRIVE0 KINGSTON SUV400S37120G             7069685

wmic diskdrive get Description,DeviceID,Model,Signature

Description  DeviceID            Model                             Signature
Disk drive   \\.\PHYSICALDRIVE1  SAMSUNG HM160HI SCSI Disk Device  82280206
Disk drive   \\.\PHYSICALDRIVE0  KINGSTON SUV400S37120G            7069685

7069685
十进制等于
006BDFF5
十六进制。
十进制的
82280206
等于十六进制的
04E77F0E

© www.soinside.com 2019 - 2024. All rights reserved.