我目前正在使用 WMI 查询有关底层硬件的各种详细信息,以便唯一地标识一台机器。为此,我在“Win32_DiskDrive”下遇到了一个名为“Signature”的字段。这个签名在机器上(全局)是唯一的吗?这可以可靠地用于识别机器吗?
谢谢, 安南
最佳答案
根据我的经验,这并不总是,但可能足以满足您的目的。
我的公司生产的软件,除其他外,还可以从物理机器生成虚拟机。执行此操作时我们必须解决的问题之一是如何保留磁盘签名,因为 Windows 使用签名来识别磁盘。如果您知道签名在主引导记录中的存储位置,则可以创建另一个具有相同签名的磁盘。
所以答案是视情况而定。如果您假设签名唯一标识机器,并且遇到有人克隆磁盘或以其他方式获得重复签名的情况,您的应用程序将如何响应?那会有多严重的问题?如果答案是“没那么严重”,则可能足以满足您的目的。
您还可以考虑机器以太网卡上的 MAC 地址。这(或多或少)保证是唯一的,如果不是,他们还有其他问题(如 ARP 解析问题)。
关于c# - 磁盘驱动器签名是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621561/