WMIC 是系统管理员的重要工具,在「命令提示符」下提供了高效、精确的管理 Windows 系统的方式。管理员可利用WMIC来执行系统配置、查询和监控等操作。
微软已宣布将在未来的 Windows 版本中逐步淘汰 WMIC:
此外,从 2024 年 1 月 29 日起,WMIC 在 Windows 预览版中,仅作为一个可选功能提供,已经不再默认安装。
那么,对于依赖 WMIC 开展工作的用户该怎么办呢?微软推荐使用 Windows PowerShell 替代 WMIC。
PowerShell 是一种基于 .NET Framework 的命令行解释器和脚本环境,具有更强大的功能和更灵活的语法。
接下来,让我们先回顾一下 WMIC 的主要功能,再介绍如何使用 PowerShell 来平替这些功能。
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 这么好用,微软又为什么要将之弃用,转而推动 PowerShell 作为替代呢?这一决策主要基于以下几点原因:
虽然 WMIC 在过去是非常有用的管理工具,但随着技术的演进和新工具的出现,微软认为转向更现代、更安全、更强大的管理工具是必要的。
这反映了一个行业常态:随着技术的进步,旧工具会被更先进的新工具所取代,以满足现代 IT 环境的需求。
在正式探讨替代方案之前,我们需要先厘清几个核心概念:
CIM cmdlets 通过 WS-Management 协议实现数据交换,该协议比 DCOM 更适合远程管理,尤其是在需要穿透防火墙时。
Get-CimInstance -ClassName CIM_ComputerSystem
该命令会显示当前计算机的系统信息,输出内容与 WMIC 命令相似。
使用 Get-CimInstance 获取系统信息
Get-CimInstance -ClassName CIM_OperatingSystem
该命令提供了操作系统的详细信息,包括系统目录、构建号和版本信息等。
虽然比较推荐使用 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 cmdlets。
PowerShell 提供了更多命令选项和更灵活的脚本功能,在多数情况下,这个转换过程直接且简单。
转换过程中,Get-Command
和Get-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中文网其他相关文章!