LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# 通过WMI读取Windows系统信息

admin
2024年10月25日 13:26 本文热度 54

Windows Management Instrumentation (WMI) 是Windows操作系统中用于管理数据和操作的强大工具。它基于Common Information Model (CIM) 标准,CIM是一个跨平台的信息模型,用于定义如何表示计算机系统、应用程序、网络设备等管理信息。通过WMI,管理员和开发人员可以查询和设置系统信息,监听系统事件,执行操作等。本文将概述如何使用WMI列出CIM明细,以及这些信息如何帮助进行系统管理和自动化。

WMI 和 CIM 简介

  • WMI:是Windows的管理技术,允许从本地和远程访问系统信息、配置设置等。

  • CIM:是一种标准化的模型,用于描述所有管理信息,WMI使用CIM标准来表示Windows系统中的管理信息。


如何列出CIM明细

要列出CIM明细,可以使用不同的工具和脚本语言,包括PowerShell、VBScript、C#等。在此,我们将重点介绍如何使用PowerShell来列出CIM明细。

使用PowerShell

PowerShell是一种命令行脚本语言,内置了对WMI的支持。使用PowerShell可以轻松地列出和查询CIM类。

以下是一些基本的PowerShell命令,用于列出和查询CIM明细:

  1. 列出所有CIM类

Get-CimClass


这个命令将列出所有可用的CIM类。

  1. 查询特定CIM类的实例

Get-CimInstance -ClassName Win32_Process


这个命令将列出系统中所有进程的信息,Win32_Process是一个CIM类,代表系统中的进程。

  1. 过滤查询结果

Get-CimInstance -ClassName Win32_Service | Where-Object {$_.State -eq "Running"}

这个命令将列出所有当前状态为运行中的服务。

C# 示例

static void Main(){    // 创建一个用于WMI查询的Select语句    string query = "SELECT * FROM Win32_OperatingSystem";
   // 使用ManagementObjectSearcher类执行WMI查询    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
   // 遍历查询结果    foreach (ManagementObject os in searcher.Get())    {        Console.WriteLine($"名称: {os["Caption"]}");        Console.WriteLine($"版本: {os["Version"]}");        Console.WriteLine($"制造商: {os["Manufacturer"]}");        Console.WriteLine($"配置路径: {os["WindowsDirectory"]}");        Console.WriteLine($"系统目录: {os["SystemDirectory"]}");        Console.WriteLine($"启动设备: {os["BootDevice"]}");        Console.WriteLine($"总物理内存: {os["TotalVisibleMemorySize"]}");        Console.WriteLine($"自由物理内存: {os["FreePhysicalMemory"]}");        Console.WriteLine($"总虚拟内存: {os["TotalVirtualMemorySize"]}");        Console.WriteLine($"自由虚拟内存: {os["FreeVirtualMemory"]}");        Console.WriteLine();    }}



这个程序首先定义了一个WMI查询,用于选择所有Win32_OperatingSystem实例。然后,它使用ManagementObjectSearcher类执行这个查询,并遍历查询结果。对于每个操作系统实例,程序打印出了一些关键信息,如操作系统的名称、版本、制造商、配置路径、系统目录、启动设备和内存信息等。

系统和硬件

  • Win32_ComputerSystem: 提供计算机系统的属性,如制造商、模型、系统类型等。

  • Win32_Processor: 描述处理器的属性,包括架构、速度、核心数等。

  • Win32_PhysicalMemory: 提供物理内存条的信息,如容量、速度、类型等。

  • Win32_DiskDrive: 描述磁盘驱动器的属性,包括模型、接口类型、容量等。

  • Win32_NetworkAdapter: 提供网络适配器的详细信息,如MAC地址、速度、状态等。


操作系统和服务

  • Win32_OperatingSystem: 描述操作系统的属性,包括版本、启动设备、系统目录等。

  • Win32_Service: 提供系统服务的信息,如名称、状态、启动类型等。

  • Win32_StartupCommand: 列出系统启动时执行的命令。

  • Win32_SystemDriver: 描述系统驱动程序的属性,包括名称、路径、状态等。


应用程序和进程

  • Win32_Process: 描述系统中的进程信息,包括进程ID、名称、执行路径等。

  • Win32_Product: 提供已安装软件产品的信息,如名称、版本、安装日期等。


网络和协议

  • Win32_NetworkConnection: 描述网络连接的状态和属性。

  • Win32_TCPIPPrinterPort: 提供TCP/IP打印端口的信息。

  • Win32_NetworkProtocol: 列出在系统上安装的网络协议。


安全和用户

  • Win32_UserAccount: 描述用户账户的信息,包括名称、域、禁用状态等。

  • Win32_Group: 提供用户组的信息,如名称、描述、域等。

  • Win32_Share: 描述共享资源的属性,包括名称、路径、类型等。


系统事件和日志

  • Win32_NTLogEvent: 提供Windows事件日志条目的信息。

  • Win32_NTEventlogFile: 描述事件日志文件的属性,包括名称、大小、记录数等。


CIM应用场景

通过列出和查询CIM明细,管理员和开发人员可以执行多种任务,包括:

  • 系统监控:监控系统性能、资源使用情况等。

  • 配置管理:查询和更改系统配置,如网络设置、服务状态等。

  • 故障排除:检测和诊断系统问题。

  • 自动化任务:自动执行重复性任务,如备份、更新等。


结论

WMI和CIM提供了一种强大的机制,用于管理和自动化Windows系统。通过使用PowerShell等工具,可以轻松地列出和查询CIM明细,从而执行各种系统管理任务。无论是系统管理员还是开发人员,都可以从WMI和CIM的深入了解中受益,以提高工作效率和系统稳定性。


该文章在 2024/10/28 16:26:17 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved