首页 > 其他分享 >.net 使用ManagementObjectSearcher 获取cpu、mac、硬盘sn

.net 使用ManagementObjectSearcher 获取cpu、mac、硬盘sn

时间:2022-10-30 18:02:10浏览次数:41  
标签:string wmi Win32 ManagementObjectSearcher mac sn HD

需要按照对应的nuget包: System.Management

获取cpu信息

ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();

string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}

return strCpuID;

获取mac信息

ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
ManagementObjectCollection queryCollection = query.Get();
string mac = string.Empty;
foreach (ManagementObject mo in queryCollection)
{
if (mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
return mac;

获取硬盘sn有两种方法

第一种 - 使用此方法获取到的待选数据较少所以速度稍快一些,但整体性能与第二种并无量级上的区别

string sn = string.Empty;
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
foreach (ManagementObject wmi_HD in searcher.Get())
{
foreach (var item in wmi_HD.Properties)
{
if (wmi_HD.Properties["SerialNumber"] != null)
{
sn = wmi_HD.Properties["SerialNumber"].Value.ToString();
break;
}
}
}
Console.WriteLine(sn);

第二种

string sn = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{
if (wmi_HD.Properties["SerialNumber"] != null)
{
sn = wmi_HD.Properties["SerialNumber"].Value.ToString();
break;
}
}
Console.WriteLine(sn);

可用的搜索项如下

Win32_Processor        //CPU中央处理器
Win32_PhysicalMemory //物理内存条
Win32_Keyboard //键盘
Win32_PointingDevice //点输入设备,包括鼠标。
Win32_FloppyDrive //软盘驱动器
Win32_DiskDrive //硬盘驱动器
Win32_CDROMDrive //光盘驱动器
Win32_BaseBoard //主板
Win32_BIOS //BIOS芯片
Win32_ParallelPort //并口
Win32_SerialPort //串口
Win32_SerialPortConfiguration //串口配置
Win32_SoundDevice //多媒体设备,一般指声卡
Win32_SystemSlot //主板插槽 (ISA & PCI & AGP)
Win32_USBController //USB控制器
Win32_NetworkAdapter //网络适配器
Win32_NetworkAdapterConfiguration //网络适配器设置
Win32_Printer //打印机
Win32_PrinterConfiguration //打印机设置
Win32_PrintJob //打印机任务
Win32_TCPIPPrinterPort //打印机端口
Win32_POTSModem //MODEM
Win32_POTSModemToSerialPort //MODEM端口
Win32_DesktopMonitor //显示器
Win32_DisplayConfiguration //显卡
Win32_DisplayControllerConfiguration //显卡设置
Win32_VideoController //显卡视频控制器
Win32_VideoSettings //显卡支持的显示模式
Win32_TimeZone //时区
Win32_SystemDriver //驱动程序
Win32_DiskPartition //磁盘分区
Win32_LogicalDisk //逻辑磁盘
Win32_LogicalDiskToPartition //逻辑磁盘所在分区及始末位置
Win32_LogicalMemoryConfiguration //逻辑内存配置
Win32_PageFile //系统页文件信息
Win32_PageFileSetting //页文件设置
Win32_BootConfiguration //系统启动配置
Win32_ComputerSystem //计算机信息简要
Win32_OperatingSystem //操作系统信息
Win32_StartupCommand //系统自动启动程序
Win32_Service //系统安装的服务
Win32_Group //系统管理组
Win32_GroupUser //系统组帐号
Win32_UserAccount //用户帐号
Win32_Process //系统进程
Win32_Thread //系统线程
Win32_Share //共享
Win32_NetworkClient //已安装的网络客户端
Win32_NetworkProtocol //已安装的网络协议
Win32_PnPEntity //all device 【所有设备】



标签:string,wmi,Win32,ManagementObjectSearcher,mac,sn,HD
From: https://blog.51cto.com/ives/5807588

相关文章

  • 关于罗技鼠标在m1 mac上卡顿,飘逸的问题
    最近发现公司发的罗技鼠标出现卡顿,漂移的现象,就是滑动的时候,鼠标突然卡了一样,然后出现在另一个地方。以为是鼠标坏了,又买了个新的M720。连接蓝牙的话,不丝滑;优联连接的话......
  • Illustrator 2023 for mac/win(ai2023)中文
    大名鼎鼎的AdobeIllustrator2023(AI2023)简称AI,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。该软件主要应用于印刷出版、海报书籍排版、专业插画、多媒......
  • Mac开发_隐藏与显示Dock 上的程序图标
    1、启动时就处理选中target->info,点击任意key值中有个中有个加号,新增Applicationisagent(UIElement)字段,设置值为YES(隐藏)、NO(显示).2、动态调整//应用......
  • Linux学习笔记之mac系统Vmware Fusion虚拟机黑屏问题
    vmwarefusion虚拟机黑屏mac详细参考此文,​​https://zhuanlan.zhihu.com/p/108613520​​目前在MontereyMacOS12.6系统测试适用,仅做记录在此/*......
  • drools_07_macro_functions
    delete()和retract()宏函数delete()用于在ruleRHS中将对象从工作内存中删除,retract()函数有同样的作用,不过已经被标记为废弃状态.insert()宏函数insert()用于在rul......
  • Nikon Camera Control Pro 2 for Mac/win(相机远程控制软件)
    你是摄影爱好者吗?经常户外拍照的朋友应该都在用相机远程控制软件,这里推荐CameraControlPro,它可以对与计算机相连的尼康数码单反相机的大多数功能进行远程控制。支持新型......
  • 打字速度提升工具KeyKey for Mac
    mac键盘打字软件那个比较好呢?KeyKeyforMac是运行在Mac平台上一款非常实用的打字训练工具,能快速的锻炼肌肉记忆,让手指记住每种语言独有的微动作时。KeyKeyforMac(优秀......
  • 前后端分离项目(八):后端报错Field 'id' doesn't have a default value
    好家伙,又到了修bug的环节,(深叹一口气) 好了,来看报错2022-10-2923:27:52.155WARN15068---[nio-8011-exec-2]o.h.engine.jdbc.spi.SqlExceptionHelper:SQ......
  • 更换mac之后安装的一些软件和折腾
    今天拿到了我的mac,真的是相当的激动虽然是二手八成新,但是其实和新的差不多激活日期是2022年的1月底电池健康:其实他的前主人基本上没用过几次吧该用户名拿到手我显......
  • log file sysnc排查思路
    参考:logfilesync等待事件处理思路_ITPUB博客一:事务的过度提交二:存储IO资源紧张,导致lgwr进程写速度缓慢#典型的IO延迟问题,很容易分析 三:CPU资源紧张,lgwr进程获取......