You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#获取Windows 10关于框中的唯一计算机标识?

刚好对这个场景很熟悉!你提到的Windows 10「关于」面板里的唯一计算机标识,其实就是设备UUID,它确实可以通过System.Management命名空间来获取,不管是C#还是PowerShell都能轻松实现,下面给你具体的代码和比对方案:

C# 获取并验证设备UUID

1. 准备工作

首先确保你的项目引用了System.Management程序集,然后在代码顶部添加命名空间:

using System.Management;
using System;

2. 获取设备UUID的方法

通过WMI查询Win32_ComputerSystemProduct类的UUID属性,这就是「关于」面板里显示的唯一标识:

public static string GetDeviceUuid()
{
    string deviceUuid = string.Empty;
    try
    {
        // 构造WMI查询语句,获取计算机产品的UUID
        using (var searcher = new ManagementObjectSearcher("SELECT UUID FROM Win32_ComputerSystemProduct"))
        {
            foreach (var obj in searcher.Get())
            {
                deviceUuid = obj["UUID"]?.ToString() ?? string.Empty;
                break; // 只需要第一个结果
            }
        }
    }
    catch (ManagementException ex)
    {
        // 捕获异常,比如权限不足、WMI服务未启动等情况
        Console.WriteLine($"获取设备UUID失败: {ex.Message}");
    }
    return deviceUuid;
}

3. 比对本地标识实现向后兼容

如果你需要验证当前设备是否和之前记录的标识一致,可以写一个简单的比对方法:

public static bool IsMatchingDevice(string storedDeviceUuid)
{
    if (string.IsNullOrEmpty(storedDeviceUuid))
        return false;
    
    string currentUuid = GetDeviceUuid();
    // 忽略大小写比对,避免格式差异问题
    return string.Equals(currentUuid, storedDeviceUuid, StringComparison.OrdinalIgnoreCase);
}
PowerShell 查询设备UUID

如果你想用PowerShell快速获取这个标识,有两种方式:

  • 传统WMI命令(兼容旧版PowerShell):
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
  • 现代CIM命令(PowerShell 5.1及以上推荐,性能更好):
Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID

注意事项:如果设备更换了主板等核心硬件,这个UUID会发生变化;部分虚拟机或未正确配置硬件信息的设备,可能会返回全0的UUID值,这种情况建议额外做异常处理。

内容的提问来源于stack exchange,提问作者Trevy Burgess

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:47:41