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

您所在的位置:网站首页 查看硬盘序列号方法有哪些 .net 使用ManagementObjectSearcher 获取cpu、mac、硬盘sn

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

2024-07-17 10:21| 来源: 网络整理| 查看: 265

需要按照对应的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 【所有设备】 属性说明 Caption --简短说明 ConfigOptions --数组,表示位于在底板上跳线和开关的配置。 CreationClassName --表示类的名称(就是Win32_baseboard类) Depth --以英寸为单位的物理封装。 Description --对象的描述(底板) Height --用英寸表示的物理包的高度 HostingBoard --如果为TRUE,该卡是一个主板,或在一个机箱中的基板。 HotSwappable --如果为TRUE,就是支持热插拔(判断是否支持热插拔) InstallDate --日期和时间对象安装。此属性不需要的值以表示已安装的对象。 Manufacturer --表示制造商的名称 Model --物理元素的名称是已知。 Name --对象的名称标签 OtherIdentifyingInfo --捕获附加数据,超出资产标签的信息,可以用来标识物理元件 PartNumber --由负责生产或制造的物理元素的组织分配部件编号。 PoweredOn --如果为真,物理元素处于开机状态。 Product --产品的型号 Removable --判断是否可拆卸的 Replaceable --判断是否可更换的 RequirementsDescription --自由格式字符串描述方式,这张卡是身体不同于其他卡。该属性才有意义时,相对应的布尔值属性特殊要求是集真的 RequiresDaughterBoard --如果是TRUE,至少一个子板或辅助卡才能正常工作。 SerialNumber --制造商分配的用于识别所述物理元件数目。 SKU --库存的物理单元号。 SlotLayout --描述插槽位置 SpecialRequirements --如果为真,此卡是同类型的其他卡物理上唯一的,因此需要一个专门的插槽 Status --对象的当前状态。 Tag --符系统的基板唯一标识 Version --物理元素的版本 Weight --物理元素的重量英镑表示 Width --用英寸表示的物理元素的宽度 wmic

也可以使用wmic命令获取对应信息 常用命令如下 基础信息

计算机的序列号: wmic csproduct 屏幕信息: wmic desktopmonitor 操作系统的名称: wmic os get name

CPU信息

查看计算机CPU信息:wmic cpu 查看cpu详细信息: wmic cpu list brief 获取cpu名称: wmic cpu get Name 获取cpu核心数: wmic cpu get NumberOfCores 获取cpu线程数: wmic cpu get NumberOfLogicalProcessors 查询cpu序列号: wmic cpu get processorid

主板信息

主板信息: wmic baseboard 查询主板序列号:wmic baseboard get serialnumber BIOS信息: wmic bios BIOS序列号:wmic bios get serialnumber

磁盘信息

查看磁盘驱动器信息:wmic diskdrive 查看硬盘序列号:wmic diskdrive where index=0 get serialnumber 查看磁盘逻辑分区信息: wmic logicaldisk [get caption] 查看磁盘卷信息: wmic volume 查看磁盘的剩余空间【以C盘为例】: fsutil volume diskfree c:

内存信息

内存芯片信息:wmic memorychip 查看物理内存: wmic memphysical list brief 查看逻辑内存: wmic memlogical list brief 查看缓存内存: wmic memcache list brief 查看虚拟内存: wmic pagefile list brief

声卡信息

声卡信息: wmic sounddev

网卡信息

网卡信息: wmic nic 查看网卡: wmic nic list brief 网络协议信息: wmic netprotocal

其他

Window下其他查看硬件信息方法【命令】 systeminfo :计算机及其操作系统的详细配置信息,包括Windows系统安装时间补丁等详细信息、处理器、内存、BISO、网卡和IP地址等,也最常用的; sysdm.cpl :打开系统属性【鼠标选中计算机–>右键–>属性】 dxdiag :打开DirectX诊断工具【可以显示显卡信息】 start msinfo32 :打开系统信息窗口 devmgmt.msc :打开设备管理 taskmgr :打开任务管理器,或按Ctrl+Alt+Del) 在性能选项卡看物理内存和pagefile winver 检查Windows版本 关闭本地计算机: wmic process call create shutdown.exe 获取进程名称以及可执行路径: wmic process get name,executablepath

参考



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3