c# - Diskpart UniqueID - C# 如何获取该 ID

标签 c# wmi disk unique-id

我熟悉 VolumeSerialNumber,我需要与 diskpart 中所示相同的磁盘 ID:

WD My Passport 0740 USB 设备 磁盘 ID:08B29B51 类型 : USB 状态:在线 路径:0 目标:0 LUN 编号:0 位置路径:不可用 当前只读状态:否 只读:否 启动盘:无 页面文件磁盘:否 休眠文件盘:无 崩溃转储磁盘:否 集群磁盘:无

我在网络 (WMI) 或论坛上找不到支持此请求的任何内容。 有人有想法吗?

最佳答案

查看 Win32_DiskDrive WMI 类。它有一个名为 Signature 的字段,其中包含此 ID。不过请注意,这不是一个字符串,而是一个数字。如果您想匹配在 DiskPart 中看到的内容,则必须将该数字显示为十六进制字符串 (signature.ToString("X"))

这是打印驱动器签名的代码:

public void PrintDiskDriveSignature()
{
    var searcher = new ManagementObjectSearcher
              (@"\\localhost\ROOT\CIMv2", "select * from Win32_DiskDrive");
    var drives = searcher.Get();
    foreach (var drive in drives)
    {
        string name = drive["Name"].ToString();
        uint signature = (uint) drive["Signature"];
        Console.WriteLine("{0}: {1}", name, signature.ToString("X"));
    }
}

关于c# - Diskpart UniqueID - C# 如何获取该 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957264/

相关文章:

javascript - 使用 WMI 查找服务的依赖项,然后区分依赖的服务和依赖的驱动程序

.net - 有没有更快的方法来获取卷序列号?

linux - 删除mongodb的日志文件安全吗?

c# 使用 WebClient 下载文件并保存

c# - 使用 IDataErrorInfo 或任何类似的模式来传播错误消息

c# - 由于程序集名称而导致 MEF 组合错误?

c# - map 控制 Gmap.net 崩溃

powershell - 如何将 KB2670838 包含在 InstallShield 2013 的安装程序中?

c++ - boost::circular_buffer 相当于文件?

java - 如何删除磁盘上的 Redis 键?