注意
- 原始发布日期: 2025 年 9 月 12 日
- KB ID: 5067470
更改日志
| 更改日期 | 更改说明 |
|---|---|
| 2026 年 9 月 29 日 |
|
| 2026 年 8 月 26 日 |
|
| 2026 年 8 月 19 日 |
|
| 2026 年 2 月 13 日 |
|
| 2026 年 1 月 28 日 |
|
本文内容
摘要
本文提供有关从 Windows Management Instrumentation 命令行迁移 (WMIC) 实用程序的指南。 WMIC 实用工具现已从 Windows 11 的当前受支持版本中删除,不再作为 按需功能 (FoD) 提供。 仍然依赖 WMIC 的组织和应用程序应迁移到受支持的替代方案,以保持与当前和未来 Windows 版本的兼容性。
重要的是,只有 WMIC 实用工具被删除了。 WMI) (Windows Management Instrumentation 本身仍然是 Windows 受支持且不可或缺的一部分。 Microsoft 建议使用 PowerShell、WMI API 和其他现代管理工具来完成以前使用 WMIC 执行的任务。 此更改通过删除旧组件,同时通过受支持的替代方案保留现有管理功能,帮助提高 Windows 的安全性和可靠性。 迁移到这些替代方案有助于确保跨受支持的 Windows 版本的持续兼容性和无缝管理体验。
时间线
2016: WMIC 实用工具在 Windows Server 2012 中已被弃用。
2021 年: WMIC 实用工具在 Windows 10 版本 21H2 中已弃用。
2022: WMIC 实用工具在 Windows 11 版本 22H2 中作为 FoD (FoD) 的按需功能提供,默认情况下已预安装并启用。
2024 年: 默认情况下,WMIC 实用工具在 Windows 11 版本 23H2 和 24H2 中处于禁用状态。 它仍作为 FoD) (点播功能提供。
2025 年: 升级到 Windows 11 版本 25H2 时,如果已安装 WMIC 实用工具,则将删除。 但是,您可以将其作为按需功能 (FoD) 添加回来。
2026 年: WMIC 实用工具已从 Windows 11 的当前受支持版本中删除。 此删除内容包含在 Windows 11 版本 24H2 和 25H2 的 2026 年 8 月预览更新以及 Windows 11 版本 26H1 的 2026 年 9 月预览更新中。 它不再作为 FoD) (按需功能提供。
采取行动
如果一直在将 WMIC 实用工具用于管理任务或应用程序,建议您从 WMIC 实用工具迁移并使用受支持的替代方法。 请记住,Windows 不会丢失任何功能 - 继续使用受支持的工具(如 PowerShell 或编程界面)查询和管理 Windows 系统。 具有依赖 WMIC 的自动部署或监视系统的组织应验证和更新其工具以避免中断。
将 PowerShell 用于 WMI 任务。PowerShell 中的 WMI 包括用于 Windows Management Instrumentation 的内置 cmdlet,可以执行 WMIC (执行的所有操作以及更) 。 常用 WMIC 查询可以直接替换为 PowerShell 命令。 例如,要返回进程名称列表:
- 替换 WMIC 查询:wmic path win32_process 获取名称。
- 请改用 PowerShell 命令: Get-CimInstance Win32_Process |Select-Object 名称。
如果您有调用 WMIC 的批处理文件或脚本,请计划使用 PowerShell cmdlet ((例如 Get-CimInstance、 Get-WmiObject、 Invoke-CimMethod 等)重写它们) 。 如果需要,请使用语法从 powershell -c "<command>" CMD 提示符运行 PowerShell。 因此,即使在命令行上下文中,也可以调用 PowerShell 命令来替换 WMIC。
请考虑以编程方式替代。 如果你有使用 WMIC 的应用程序或高级脚本,则可以通过其他方式查询 WMI 来实现相同的结果。 例如,可以使用 WMI 的 COM API 或 .NET 库(如 C#) 中的 System.Management) (直接在代码中执行 WMI 查询。 脚本语言也可以与 WMI 交互,而无需 WMIC。 在 WMIC 中使用的任何功能都由基础 WMI 基础结构提供,你可以通过 PowerShell 或编程接口访问这些基础结构。 Microsoft 文档 包含有关如何在代码中执行 WMI 操作的示例。 改用这些方法将有助于确保工具在 WMIC 消失后继续工作。
更新文档和流程。 更新引用 WMIC 命令的任何内部 IT 文档、支持脚本或用户指南,以反映新方法。 例如,如果支持文章告诉用户运行 WMIC 命令来收集信息,请将其重写为使用 PowerShell 或编程界面。 这将有助于防止在 WMIC 不再可用后出现的混淆。 同样,如果你环境中的任何自动部署或监视系统使用 WMIC,请在 WMIC 删除生效之前将其更新为使用替代方法。
临时缓解指南
警告
这是一种临时缓解措施,旨在还原仍依赖于 WMIC 实用工具的应用程序、脚本或工作流的功能。 此缓解措施中包含的可下载 WMIC 程序包不是一个安全的长期解决方案,只能由你自行决定使用。 我们鼓励你尽快放弃此解决方法。
步骤:
下载 wmic_dlc.zip 文件。
将 ZIP 文件的内容提取到本地文件夹。
以管理员身份打开 PowerShell。
导航到提取的
wmic_dlc文件夹。运行以下命令:
Set-ExecutionPolicy Bypass -Scope Process如果系统提示更改执行策略 ,请选择 是。
运行以下命令:
.\install.ps1确认脚本报告:
WMIC has been installed successfully.
- 安装脚本将 WMIC 文件复制到以下目录并注册所需的 WMIC 别名:
C:\Windows\System32\wbem. - 重新测试受影响的应用程序、脚本或工作流。
- 要验证 WMIC 是否正常工作,请运行以下命令:
wmic
常见问题解答
什么是 WMIC?
WMIC 代表 Windows Management Instrumentation Command-line。 它是一个旧的内置 Windows 命令行工具,可用于通过文本命令与 Windows Management Instrumentation (WMI) 系统进行交互。
WMI 是否正在从 Windows 中删除?
否,WMI 不会被删除。 仅删除 WMIC 命令行工具。 基础 Windows Management Instrumentation (WMI) 基础结构仍然是 Windows 的核心部分 ,完全不受此次删除的影响。
你仍可以通过以下方式使用 WMI:
- PowerShell cmdlet (Get-CimInstance、Get-WmiObject、Invoke-CimMethod)
- 编程接口 (.NET System.Management、COM API)
- 与 WMI 交互的其他脚本语言**
通过其他方式使用 WMI 的任何脚本或应用程序 (例如,使用 Get-CimInstance 的 PowerShell 脚本或使用 WMI 类的 C# 程序) 将继续正常工作。 **仅删除 wmic.exe 命令行包装器,WMI 服务本身未删除。
WMIC 何时从 Windows 中完全删除?
WMIC 实用工具已从 Windows 11 的当前受支持版本中删除。 此删除内容包含在 Windows 11 版本 24H2 和 25H2 的 2026 年 8 月预览更新以及 Windows 11 版本 26H1 的 2026 年 9 月预览更新中。 它不再作为 FoD) (按需功能提供。
我有使用 WMIC 的脚本/工具。我该怎么办?
应尽快更新脚本和工具以使用 PowerShell 或其他受支持的方法。 你使用 WMIC 命令执行的任何操作都可以使用 PowerShell 运行。 例如, WMIC 博客文章 介绍如何使用 Get-CimInstance 将典型的 WMIC 查询替换为等效的 PowerShell 命令。 如果有一个调用 WMIC 的批处理文件,则可以将其重写为 PowerShell 脚本,或在批处理文件中使用 PowerShell。 如果您的工具更复杂,则可以使用 WMI 编程库 。