public static string? GetDriveSerialNumber()
{
var moSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (var o in moSearcher.Get())
{
var wmiHd = (ManagementObject)o;
if(wmiHd==null)
{
continue;
}
if (wmiHd["SerialNumber"]==null)
{
myApi.LoggerOut(LogCode.LogWarn, "serial number is null");
continue;
}
var serialNumber = wmiHd["SerialNumber"].ToString();
if (string.IsNullOrEmpty(serialNumber))
{
continue;
}
return serialNumber;
}
return null;
}
在某些机器上它不起作用。看起来它为虚拟磁盘返回 null。是真的吗?任何解决方法?
尝试将它安装在多台 Windows Server 2019 x64 的服务器上。在具有物理存储的计算机上运行良好。不适用于虚拟磁盘。