搜索
首页电脑教程电脑知识WMIC 终将谢幕:如何迁移到 PowerShell,系统管理员的必修课

WMIC 终将谢幕:如何迁移到 PowerShell,系统管理员的必修课

WMIC 是系统管理员的重要工具,在「命令提示符」下提供了高效、精确的管理 Windows 系统的方式。管理员可利用WMIC来执行系统配置、查询和监控等操作。

微软已宣布将在未来的 Windows 版本中逐步淘汰 WMIC:

  • Windows 10 21H1: WMIC 的用户界面(UI)已不推荐使用。
  • Windows 11 23H2 和 22H2: WMIC 作为一个「可选功能」提供,但仍默认安装。
  • Windows 11 24H2: WMIC 将完全移除。

此外,从 2024 年 1 月 29 日起,WMIC 在 Windows 预览版中,仅作为一个可选功能提供,已经不再默认安装。

那么,对于依赖 WMIC 开展工作的用户该怎么办呢?微软推荐使用 Windows PowerShell 替代 WMIC。

PowerShell 是一种基于 .NET Framework 的命令行解释器和脚本环境,具有更强大的功能和更灵活的语法。

接下来,让我们先回顾一下 WMIC 的主要功能,再介绍如何使用 PowerShell 来平替这些功能。

WMIC 是什么

WMIC 全称 Windows Management Instrumentation Command-line,是一个命令行工具。它提供了访问 Windows Management Instrumentation(WMI)的通道。WMI 是 Windows 中一个强大的管理框架,用于数据管理和操作。

通过使用WMIC,管理员可以轻松地进行各种Windows管理任务。结合WMI脚本和应用程序,以及WinRM(Windows远程管理)和SCCM(System Center Configuration Manager),可以实现在远程计算机上自动化执行管理任务。WMIC提供了强大的功能,可以通过命令行或脚本轻松地访问和管理Windows操作系统的各种信息和功能。管理员可以使用WMIC查询系统信息、安装软件、配置网络设置等。同时,WMIC还支持远程管理,管理员可以通过远程连接轻松地管理多台计算机。通过结合WMI脚本和应用程序,管理员可以更灵活地定制管理任务,并实现自动化执行。而借助WinRM和SCCM等工具,可以更高效地进行远程管理,提高管理效率并减少人工操作

WMIC的紧密集成允许用户查询和调整系统设置,例如,通过WMIC可以轻松调整Windows屏幕亮度。使用以下WMIC命令可以获取计算机的型号、名称、制造商和系统类型。

wmic computersystem get manufacturer,model,name,systemtype

使用 WMIC 命令 获取计算机信息

这条命令能迅速提供关键系统信息,对系统管理员而言极其有用。

微软为什么决定淘汰 WMIC

WMIC 弃用时间表

既然 WMIC 这么好用,微软又为什么要将之弃用,转而推动 PowerShell 作为替代呢?这一决策主要基于以下几点原因:

  1. 技术发展:PowerShell 提供了一种更现代、更强大的方式来访问和管理 WMI,以及其他许多系统管理功能。它支持更复杂的脚本、更灵活的命令,以及更广泛的功能集,让它成为了执行系统管理任务的首选。
  2. 性能提升:相比 WMIC,PowerShell 在性能和效率上通常表现更优,尤其是在处理大批量数据或执行复杂管理任务时,PowerShell cmdlets 运行更高效。
  3. 安全性考量: WMIC 可能被恶意软件或攻击者利用来执行远程命令或部署恶意代码。而 PowerShell 则通过执行策略控制、更细致的权限管理等强大安全特性,来有效降低这类风险。
  4. 统一标准:集中使用 PowerShell 来管理系统任务,有助于实现工具集的统一和标准化,简化系统管理工作,提升效率,并减少管理员在不同工具间切换的需要。
  5. 社区支持:PowerShell 拥有一个活跃的社区,提供丰富的资源、脚本和模块。微软与社区的持续投入保障了 PowerShell 的不断更新和改进,而 WMIC 的发展则相对停滞。

虽然 WMIC 在过去是非常有用的管理工具,但随着技术的演进和新工具的出现,微软认为转向更现代、更安全、更强大的管理工具是必要的。

这反映了一个行业常态:随着技术的进步,旧工具会被更先进的新工具所取代,以满足现代 IT 环境的需求。

使用 PowerShell、WMI 和 CIM 替代 WMIC

在正式探讨替代方案之前,我们需要先厘清几个核心概念:

  • Windows 系统内置了 WMI 和 CIM 的 cmdlets,为管理员提供了强大的管理工具。
  • WMI(Windows 管理接口)基于 CIM(通用信息模型)标准,主要用于获取和展示计算机信息。CIM 是行业通用标准,虽然它本身不直接支持远程数据访问,但 WMI 利用了 DCOM(分布式组件对象模型)和 RPC(远程过程调用)等技术,实现了在网络连接的远程系统上使用 CIM。不过,WMI 在通过防火墙进行远程设备查询时存在一定局限性。
  • PowerShell 中的 WMI 和 CIM cmdlets 是向着更安全、更高效、兼容性更强的管理工具转型的重要一步。接下来,我们将通过一些基本实例,帮助你完成这一转型过程。

CIM cmdlets 使用示例

CIM cmdlets 通过 WS-Management 协议实现数据交换,该协议比 DCOM 更适合远程管理,尤其是在需要穿透防火墙时。

  • 获取系统信息
Get-CimInstance -ClassName CIM_ComputerSystem

该命令会显示当前计算机的系统信息,输出内容与 WMIC 命令相似。

使用 Get-CimInstance 获取系统信息

  • 获取启动配置
Get-CimInstance -ClassName CIM_OperatingSystem

该命令提供了操作系统的详细信息,包括系统目录、构建号和版本信息等。

WMI cmdlets 使用示例

虽然比较推荐使用 CIM cmdlets,但 PowerShell 同样支持直接使用 WMI 的 cmdlets。例如:

  • 获取进程列表
Get-WmiObject -Class Win32_Process

该命令会列出当前运行的所有进程。

使用 Get-WmiObject 查看进程列表

  • 获取服务状态
Get-WmiObject -Class Win32_Service | Where-Object {$_.State -eq "Running"}

该命令会筛选出所有当前正在运行的服务。

使用 Get-WmiObject 查看运行的服务

WMIC 脚本向 PowerShell 转换

如果你之前主要使用 WMIC 进行管理任务,现在可以考虑将这些脚本转换为 PowerShell cmdlets。

PowerShell 提供了更多命令选项和更灵活的脚本功能,在多数情况下,这个转换过程直接且简单。

转换过程中,Get-CommandGet-Help cmdlets 能帮助你快速找到对应的 PowerShell 命令,及其使用方法。

例如,要查找所有与实例相关的可用 CIM 命令,可以使用:

Get-Command -Noun CimInstance*

使用 Get-Help 获取帮助

同时,Get-Help命令能提供特定 cmdlet 的详细使用说明和示例,这对学习新命令非常有帮助:

Get-Help Get-CimInstance -Full

通过这种方式,你就可以逐步替换 WMIC 命令,从而提高系统管理的效率和安全性。

要深入了解 PowerShell 中的 WMI 和 CIM 命令使用方法,可以参考微软发布的这篇指南。

自 2016 年起,微软就已经开始逐步淘汰 WMIC。虽然没有宣布具体的弃用日期,但想必已经迫在眉睫。因此,建议系统管理员尽快开始探索迁移解决方案,把 PowerShell 的 WMI 和 CIM 工具融入日常管理工作和编程任务中。

以上是WMIC 终将谢幕:如何迁移到 PowerShell,系统管理员的必修课的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:每日运维。如有侵权,请联系admin@php.cn删除
如何在Windows/Mac/Linux上下载Technic Launcher? -  Minitool如何在Windows/Mac/Linux上下载Technic Launcher? - MinitoolMay 03, 2025 am 12:50 AM

Technic Launcher将让您立即播放自己喜欢的Mod Pack。有些玩家想下载它,但不知道该怎么做。不用担心!这篇来自Php.CN的帖子告诉您如何下载和安装Technic Launcher。

应用程序的前7个解决方法不断在Android上崩溃-Minitool应用程序的前7个解决方法不断在Android上崩溃-MinitoolMay 03, 2025 am 12:49 AM

长时间使用Android设备时,您是否遇到了应用程序崩溃的应用?您如何解决它?如果您发生这种情况,并且您不知道该怎么做,则可以在PHP.CN网站上的本指南中使用以下解决方案进行修复。

解决!如何修复Windows更新错误0x80073BC3? -  Minitool解决!如何修复Windows更新错误0x80073BC3? - MinitoolMay 03, 2025 am 12:48 AM

在大多数情况下,错误0x80073BC3是指在Windows Update过程中发生的问题。这可以阻止正常的更新相关的服务,使人们很多。那么,如何摆脱Windows更新错误0x80073BC3?这篇有关PHP.CN的帖子

阀门错误代码val的前5个解决方案7 Windows 10/11 -Minitool阀门错误代码val的前5个解决方案7 Windows 10/11 -MinitoolMay 03, 2025 am 12:47 AM

像其他任何游戏一样,瓦兰特有很多故障和虫子。错误代码Val 7是其中之一。为了摆脱它,我们在PHP.CN网站上的这篇文章中尽力为您提出一些解决方法,并希望它能为您提供帮助

CTRL F无法在Windows 10/11上工作的前4个已验证的方法CTRL F无法在Windows 10/11上工作的前4个已验证的方法May 03, 2025 am 12:46 AM

CTRL F使我们的生活更轻松,当Ctrl F无法使用Windows 10时,这一定令人沮丧。在本指南中,我们将为您提供一些简单有效的方法,以获取此方便的快捷方式,以再次为您工作。

在Windows 10/11上删除管理员帐户的简单方法在Windows 10/11上删除管理员帐户的简单方法May 03, 2025 am 12:45 AM

由于某种原因,您可能需要在Windows 10或Windows 11上删除管理员帐户。您可以在设置应用程序或控制面板中执行此操作。 PHP.CN软件将在这篇文章中介绍这两种简单的方法。

如何在Microsoft Edge中启用和使用办公室侧边栏? -  Minitool如何在Microsoft Edge中启用和使用办公室侧边栏? - MinitoolMay 03, 2025 am 12:44 AM

为了增强Microsoft Edge与其他功能软件之间的协调性,Microsoft Edge发布了一项新功能 - Office Sidebar - 提供了更快速简便的频道来访问您的目标。 PHP.CN网站上的这篇文章将告诉Y

修复Windows更新错误代码0x800703ED的四种方法修复Windows更新错误代码0x800703ED的四种方法May 03, 2025 am 12:43 AM

执行Windows更新时,您的Windows可能会出现故障,这是您遇到错误代码的时候。由于许多人发现Windows更新错误代码0x800703ED,因此PHP.CN网站上的本文将为您列出一些有用的方法。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具