软件许可产品哪个是我的

本文关键字:我的 许可 软件 | 更新日期: 2023-09-27 18:09:48

我需要检查操作系统是否需要激活,下面的代码显示了大量的"通道"。

static void Main(string[] args)
    {
        ManagementObjectSearcher searcher =
               new ManagementObjectSearcher
    (
    "root''CIMV2",
    "SELECT 
    Description,
    LicenseIsAddon,
    LicenseStatus 
    FROM SoftwareLicensingProduct 
    WHERE LicenseIsAddon = False"
    );
        foreach (ManagementObject queryObj in searcher.Get())
        {
            if (queryObj["Description"].ToString().ToLower().Contains("operating"))
            {
                foreach (var item in queryObj.Properties)
                {
                    Console.WriteLine(item.Value);
                }
            }
        }
        Console.Write("***done***");
        Console.ReadLine();
    }

我怎么知道哪一个检查,以确定我是否需要激活操作系统?

或者是我唯一的方法来看看,如果我有任何LicenseStatus = 1在那里?如果安装了一个激活的操作系统和一个未激活的操作系统,这当然可能是错误的。

谢谢

软件许可产品哪个是我的

目前,我对通道进行了更多的过滤,并得出结论,这已经足够好了:

private void getOSActivation()
{
   try
   {
     ManagementObjectSearcher LicenseSearcher =
                new ManagementObjectSearcher("root''CIMV2",
                "SELECT LicenseStatus,Description FROM SoftwareLicensingProduct");
     foreach (ManagementObject LSObj in LicenseSearcher.Get())
     {
       OStestString = LSObj["Description"].ToString().ToLower();
       if (
           OStestString.Contains("operating") 
           &&
           // next line is new
           (OStestString.Contains("slp") || OStestString.Contains("dm"))
          )
          {
            foreach (var item in LSObj.Properties)
            {
              OSresults.Add(LSObj["LicenseStatus"].ToString());
            }
          }
        }
      }
    catch (Exception LSOexception)
    {
      Console.WriteLine(LSOexception.Message);
    }
  }