windows server 2025,windows 11 ,启用WMIC命令的方法。
WMIC (英文全称Windows Management Instrumentation Command-line)是 Windows 管理工具(WMI)的命令行界面,允许用户查询和管理系统设置、配置以及 Windows 操作系统的其他方面。
WMIC(Windows Management Instrumentation Command-line)是 Windows 操作系统中的一个命令行工具,它提供了一个与 Windows 管理工具(WMI)交互的接口。WMIC 允许用户通过命令行查询和管理系统信息、硬件设备、软件配置、进程等系统设置。通过 WMIC,用户可以执行多种管理任务,如获取系统性能信息、管理用户账户、查看磁盘状态等。
WMIC (Windows Management Instrumentation Command-line) 功能分类的表格化概览:
功能类别 | 功能描述 |
---|---|
系统信息查询 | 提供系统硬件、操作系统、服务等的详细信息。例如:wmic os 、wmic cpu 、wmic memorychip 。 |
硬件设备管理 | 获取和管理硬件信息,如 CPU、硬盘、内存、显示器、网络适配器等。例如:wmic diskdrive 、wmic nic 。 |
进程管理 | 获取、启动、停止进程等。例如:wmic process 、wmic process where "name='processname'" call terminate 。 |
软件与应用管理 | 查询和管理已安装的软件或应用程序。例如:wmic product 、wmic service 。 |
网络配置与状态 | 获取网络适配器、IP 配置、网络连接等信息。例如:wmic nicconfig 、wmic path win32_networkadapter 。 |
用户和账户管理 | 管理本地用户账户和组信息。例如:wmic useraccount 、wmic group 。 |
磁盘与存储管理 | 查询磁盘驱动器和分区的详细信息。例如:wmic logicaldisk 、wmic volume 。 |
电源管理 | 获取电池、适配器等电源相关的设备信息。例如:wmic path Win32_Battery 。 |
打印机管理 | 查询和管理打印机设备。例如:wmic printer 。 |
事件查看与日志 | 获取事件日志和错误报告。例如:wmic ntevent 。 |
这些分类涵盖了 WMIC 的常用功能,用户可以通过不同的命令查询系统的硬件、软件、进程、网络等信息,并进行一些管理任务。
WMIC(Windows Management Instrumentation Command-line) 操作模式的分类及相关功能的表格:
操作模式 | 功能描述 | 示例命令 |
---|---|---|
查询模式(Query Mode) | 用于查询系统信息、硬件信息、配置状态等。通过查询语句从 WMI 类获取数据。 | wmic cpu get caption, maxclockspeed |
执行模式(Execute Mode) | 用于执行 WMI 方法(如启动、停止进程、调用服务等)或更改系统配置。 | wmic process where name="notepad.exe" call terminate |
设置模式(Set Mode) | 用于更改某些系统设置或配置,如设置用户密码、更改服务状态等。 | wmic service where name="wuauserv" call change startmode="disabled" |
别名模式(Alias Mode) | 用于列出和使用 WMIC 别名(即 WMI 类别),简化常见查询。 | wmic alias list brief |
输出重定向模式(Redirect Mode) | 用于将 WMIC 的输出结果重定向到文件中,方便后续分析。 | wmic os get caption > os_info.txt |
批处理模式(Batch Mode) | 用于批量执行多个命令,常用于自动化脚本中,执行一组操作。 | 创建一个包含多个 WMIC 命令的批处理文件(如 .bat 文件) |
条件查询模式(Where Clause Mode) | 用于在查询中添加条件,从而获取更精确的信息。 | wmic process where "name='notepad.exe'" get processid, caption |
帮助模式(Help Mode) | 提供 WMIC 命令及其语法的帮助信息。 | wmic /? |
版本信息模式(Version Mode) | 查看 WMIC 工具的版本信息。 | wmic /version |
解释:
- 查询模式:主要用于从 WMI 中查询信息,返回系统或硬件配置数据。
- 执行模式:执行某些方法,如停止进程、管理服务等。
- 设置模式:更改系统设置、启动模式等。
- 别名模式:列出和使用 WMI 别名类,简化查询。
- 输出重定向模式:将命令的输出结果保存到文件。
- 批处理模式:允许通过批处理脚本执行多个 WMIC 命令。
- 条件查询模式:在查询时加入特定条件,获取更精准的信息。
- 帮助模式:查看 WMIC 工具的帮助和使用说明。
- 版本信息模式:查看 WMIC 的版本信息,通常用于确认工具的当前版本。
这些操作模式帮助用户根据需求灵活地查询和管理 Windows 系统的配置和状态。
WMIC为什么被禁用,未来移除?
WMIC(Windows Management Instrumentation Command-line)命令工具被弃用的原因与多方面的技术和设计考虑有关。主要原因包括:
1. PowerShell 的强大功能
- PowerShell 替代:微软推出了 PowerShell,并逐渐将其作为主要的系统管理工具。PowerShell 提供了比 WMIC 更强大、更灵活的功能,尤其在脚本化和自动化管理方面。PowerShell 不仅支持 WMI,还支持更复杂的对象模型、管道、模块等功能,使得它成为了管理和自动化任务的首选工具。
- PowerShell 可以访问 WMI 和其他系统管理工具:PowerShell 本身也可以通过
Get-WmiObject
或Get-CimInstance
等命令与 WMI 进行交互,提供比 WMIC 更丰富的功能和更简洁的语法。PowerShell 通过
Get-WmiObject
和Get-CimInstance
命令能够与 Windows 管理工具(WMI)进行交互,并能提供比 WMIC 更加丰富的功能和简洁的语法。这些命令允许你查询、管理和操作 Windows 系统中的许多组件和服务。下面是一些常见的示例,展示如何使用这两个命令。1. 查询操作系统信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_OperatingSystem
此命令将返回有关当前操作系统的详细信息,包括操作系统版本、构建号、安装日期等。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_OperatingSystem
Get-CimInstance
是 PowerShell 3.0 及之后版本引入的命令,通常建议使用它,因为它在远程管理和性能上比Get-WmiObject
更加高效。2. 获取处理器信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_Processor
这个命令会列出有关计算机中所有处理器的信息,例如处理器的名称、核心数、线程数等。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_Processor
与
Get-WmiObject
类似,Get-CimInstance
返回类似的处理器信息。3. 获取内存信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_PhysicalMemory
此命令会列出计算机中所有物理内存条的详细信息,包括容量、制造商、速度等。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_PhysicalMemory
通过
Get-CimInstance
查询内存信息,得到的输出同样包括内存的详细信息。4. 查询磁盘驱动器信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_DiskDrive
此命令会返回有关硬盘驱动器的信息,例如型号、容量、接口类型等。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_DiskDrive
同样,
Get-CimInstance
会提供类似的信息,但在处理大量数据时性能较好。5. 查询系统服务
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_Service
该命令列出了当前计算机上所有运行的系统服务及其状态。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_Service
通过
Get-CimInstance
获取的系统服务信息与Get-WmiObject
相似,但通常执行速度更快。6. 获取网络适配器信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_NetworkAdapter
此命令返回有关网络适配器的信息,包括适配器名称、MAC 地址、连接状态等。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_NetworkAdapter
这同样会返回网络适配器的详细信息,但
Get-CimInstance
在跨网络或远程查询时表现更佳。7. 获取事件日志信息
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_NTLogEvent
此命令返回事件日志中的所有条目。你可以根据
EventCode
、TimeGenerated
等字段筛选具体的日志。使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_NTLogEvent
Get-CimInstance
也可以用来获取事件日志信息,性能更高。8. 查询操作系统的启动时间
使用
Get-WmiObject
powershellCopy Code(Get-WmiObject -Class Win32_OperatingSystem).LastBootUpTime
这将返回操作系统上次启动的时间。
使用
Get-CimInstance
powershellCopy Code(Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime
Get-CimInstance
同样可以返回操作系统的启动时间,通常它比Get-WmiObject
更高效。9. 列出当前的用户会话
使用
Get-WmiObject
powershellCopy CodeGet-WmiObject -Class Win32_ComputerSystem
这个命令列出了当前计算机的用户会话信息。
使用
Get-CimInstance
powershellCopy CodeGet-CimInstance -ClassName Win32_ComputerSystem
同样返回当前用户会话信息,但
Get-CimInstance
的表现通常更优。Get-WmiObject
和Get-CimInstance
都能够访问 Windows Management Instrumentation(WMI)数据源,并返回系统管理和硬件组件的信息。Get-CimInstance
是现代化的命令,更加高效,特别是在处理大量数据或远程管理时,相较于Get-WmiObject
具有更好的性能。- PowerShell 提供了更简洁的语法和更多的功能,可以轻松地进行数据筛选和格式化,因此它已经逐渐取代了传统的 WMIC 工具。
这些示例展示了如何利用 PowerShell 强大的命令来获取 Windows 系统中的各种管理信息,帮助用户更高效地进行系统管理和自动化任务。
2. 不再更新和维护
- 技术陈旧:WMIC 是基于早期的 WMI(Windows Management Instrumentation)接口,它已经没有得到足够的更新和改进。微软逐步将重心转向 PowerShell,这意味着 WMIC 不再作为优先更新和维护的工具。
- 长期支持性差:随着 Windows 操作系统版本的更新,WMIC 的一些功能逐渐不再支持或无法适应新的需求。
3. 更好的用户体验
- PowerShell 的用户体验更优:PowerShell 提供了更丰富的命令和功能,以及更强大的调试和脚本化能力。它支持更复杂的管理任务,并且更符合现代 IT 管理员的需求。
- 模块化和扩展性:PowerShell 具有更强的模块化设计,允许用户加载并扩展许多外部模块,这使得它的功能更加丰富和灵活。
4. 跨平台支持
- PowerShell 的跨平台性:PowerShell 现在已经支持 Windows、Linux 和 macOS,这使得它可以作为跨平台的管理工具。而 WMIC 是 Windows 专用的工具,不具备跨平台的功能。
5. 性能和可扩展性
- 性能限制:WMIC 在执行复杂查询或与大量数据交互时,可能会显得较慢或效率较低。而 PowerShell 提供了更高效的命令处理和更好的性能,特别是在处理大规模数据时,能够提供更高的效率和灵活性。
6. 逐步淘汰
- 微软的战略方向:微软在其官方文档中明确指出,WMIC 已经被弃用,未来不会继续更新和支持 WMIC。微软的未来发展重点将放在 PowerShell 和其他现代工具上,这也促使 IT 管理员逐步转向 PowerShell。
WMIC 被弃用主要是因为 PowerShell 提供了更强大的功能、更好的用户体验、更好的性能以及更广泛的跨平台支持。微软推荐 IT 管理员和开发者转向 PowerShell,以适应现代化的管理和自动化需求。
Windows 10,11 启用WMIC命令
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~
Windows server 2022,2025 启用WMIC命令
DISM /Online /Enable-Feature /FeatureName:IIS-WMICompatibility /Al
Windows 10,11 禁用卸载WMIC命令
DISM /Online /Remove-Capability /CapabilityName:WMIC~~~
Windows server 2022,2025 禁用卸载WMIC命令
DISM /Online /Disable-Feature /FeatureName:IIS-WMICompatibility /Remove
windows server 2022 2025
查询命令:Dism /Online /Get-Features
部署映像服务和管理工具
版本: 10.0.26100.1150
映像版本: 10.0.26100.3194
程序包功能列表 : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.26100.1
功能名称 : IIS-WMICompatibility
状态 : 已禁用
命令行启用WMIC功能
1、以管理身份打开CMD或powershell命令执行窗口,输入如下命令进行添加wmic操作:
PS C:\Users\Administrator> DISM /Online /Get-FeatureInfo /FeatureName:IIS-WMICompatibility 部署映像服务和管理工具 映像版本: 10.0.26100.3194 功能信息: 功能名称 : IIS-WMICompatibility 自定义属性: ServerComponent\Description : IIS 6 WMI 兼容性提供 Windows Management Instrumentation (WMI)脚本接口,以便从您在 WMI 提供程序中创建的脚本集以编程方式管理和自动执行 IIS 10.0 Web 服务器的任务。此服务包括用于管理站点的 WMI CIM Studio、WMI 事件 注册、WMI 事件查看器和 WMI 对象浏览器工具。 操作成功完成。 部署映像服务和管理工具 映像版本: 10.0.26100.3194 启用一个或多个功能 |
如果使用后需要禁用或卸载,可以执行如下命令:
DISM /Online /Disable-Feature /FeatureName:IIS-WMICompatibility /Remove
Windows 10,11,
命令行启用WMIC功能
1、以管理身份打开CMD或powershell命令执行窗口,输入如下命令进行添加wmic操作:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~
2、添加完成后,重新执行wmic命令后正常无报错。
如果使用后需要卸载,可以执行如下命令:
DISM /Online /Remove-Capability /CapabilityName:WMIC~~~