ホームページ  >  記事  >  コンピューターのチュートリアル  >  WMIC がついに終了: PowerShell への移行方法、システム管理者向けの必須コース

WMIC がついに終了: PowerShell への移行方法、システム管理者向けの必須コース

WBOY
WBOY転載
2024-03-04 10:00:051084ブラウズ

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

WMIC はシステム管理者にとって重要なツールであり、「コマンド プロンプト」で Windows システムを効率的かつ正確に管理する方法を提供します。管理者は WMIC を使用して、システム構成、クエリ、および監視操作を実行できます。

Microsoft は、WMIC が将来の Windows バージョンで段階的に廃止されることを発表しました:

  • Windows 10 21H1: WMIC ユーザー インターフェイス (UI) は推奨されなくなりました。
  • Windows 11 23H2 および 22H2: WMIC は「オプション機能」として提供されますが、引き続きデフォルトでインストールされます。
  • Windows 11 24H2: WMIC は完全に削除されます。

さらに、2024 年 1 月 29 日以降、WMIC は Windows プレビュー バージョンのオプション機能としてのみ提供され、デフォルトではインストールされなくなりました。

それでは、WMIC に依存するユーザーは仕事のために何をすべきでしょうか? Microsoft では、WMIC の代わりに Windows PowerShell を使用することを推奨しています。

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 との緊密な統合により、ユーザーはシステム設定を照会および調整できます。たとえば、Windows 画面の明るさは WMIC を通じて簡単に調整できます。次の WMIC コマンドを使用して、コンピュータのモデル、名前、製造元、システム タイプを取得します。

リーリー

WMIC コマンドを使用してコンピューター情報を取得する

このコマンドは、主要なシステム情報を迅速に提供できるため、システム管理者にとって非常に便利です。

Microsoft が WMIC の段階的廃止を決定した理由

WMIC 非​​推奨スケジュール

WMIC は非常に使いやすいのに、なぜ Microsoft は WMIC を放棄し、代わりに PowerShell を推進するのでしょうか?この決定は主に次の理由に基づいています:

    テクノロジー開発: PowerShell は、WMI や他の多くのシステム管理機能にアクセスして管理するための、より最新かつ強力な方法を提供します。より複雑なスクリプト、より柔軟なコマンド、および幅広い機能セットをサポートしているため、システム管理タスクの最初の選択肢となっています。
  1. パフォーマンスの向上: WMIC と比較して、PowerShell は通常、パフォーマンスと効率の点で優れたパフォーマンスを発揮します。特に、大量のデータを処理する場合や複雑な管理タスクを実行する場合、PowerShell コマンドレットはより効率的に実行されます。
  2. セキュリティに関する考慮事項: WMIC は、マルウェアまたは攻撃者によってリモート コマンドの実行や悪意のあるコードの展開に使用される可能性があります。 PowerShell は、ポリシー制御やより詳細なアクセス許可管理などの強力なセキュリティ機能を実装することで、この種のリスクを効果的に軽減します。
  3. 統一された標準: PowerShell を使用してシステム タスクを管理することを一元化すると、ツール セットの統合と標準化が可能になり、システム管理作業が簡素化され、効率が向上し、管理者が異なるツールを切り替える必要性が減ります。
  4. コミュニティ サポート: PowerShell には、豊富なリソース、スクリプト、モジュールを提供する活発なコミュニティがあります。 Microsoft とコミュニティによる継続的な投資により、PowerShell は常に更新および改善されていますが、WMIC の開発は比較的停滞しています。
WMIC は以前は非常に便利な管理ツールでしたが、テクノロジーが進化し、新しいツールが登場するにつれ、より最新で安全で強力な管理ツールへの移行が必要であると Microsoft は考えています。

これは業界標準を反映しています。テクノロジーの進歩に伴い、古いツールは最新の IT 環境のニーズを満たすために、より高度な新しいツールに置き換えられます。

WMIC の代わりに PowerShell、WMI、CIM を使用する

代替案を正式に検討する前に、いくつかの核となる概念を明確にする必要があります。

  • 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はmryunwei.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。