WMIC
が受け入れるあらゆる種類のコマンドがあります。たとえば、
WMIC Path Win32_Battery
WMIC Path Win32_Processor
WMIC Class Win32_Battery
WMIC Class ComputerSystem
など。
コマンドラインからこれらの潜在的な「パス」や「クラス」などをすべてlistする方法はありますか?
ここにリストするときは、WMIオブジェクトクラスのリストを要求しています(主にWin32セクションから)。 「パス」は、そのプラスサブノード、そのプラスサブノードプラス値などである可能性があります。 ここを参照 :
概念的にはUniformResource Locator(URL)と同様に、WMIオブジェクトパスは、サーバー上の名前空間、名前空間内のクラス、またはクラスのインスタンスを一意に識別する文字列です。
使用可能なクラスはWindowsのバージョンによって異なります(特に、カスタムWMIクラスはWMIシステム内に登録できると思います)。したがって、すべてのクラスがすべてのバージョンのWindowsで使用できるとは限りません。
そうは言っても:
株式のコマンドラインからそれらを一覧表示する方法はありません。 PowerShell を使用すると、次のコマンドを使用してWin32WMIクラスのリスト全体を取得できます。
Get-WMIObject -List| Where{$_.name -match "^Win32_"} | Sort Name | Format-Table Name
また、Windowsスクリプト(つまり、VBScript)を使用してそれを取得できる必要があります。
Win32は、クラスの約10の異なるセクションの1つです。
現在のWMIセクション/クラス/メソッド/プロパティを取得できます MSのMSDNページからのリスト 。
Win32 WMIクラス(のほとんど)のリストは次のとおりです。
いくつかの WMIプロバイダー があり、多くのクラスを提供します。他の回答で述べたように、WMIを介してWMIクラスを検出することは可能です。クラスのリストはwmic
内にハードコードされているわけではなく、 カスタムプロバイダーの登録 を介して動的に拡張できます。
おそらく、あなたが聞きたかったのは、「WMIとwmic
で何ができるか」でした。 OS設定、デバイス、ファイルシステムの管理など、多くの可能性があります。 (データを使用してファイルを作成することはできませんが、ファイルの名前を変更したり削除したりすることはできます。)解決策には、プロパティの設定、メソッドの呼び出し、および関連付けの操作が含まれる場合があります。 WMIで何かを達成する方法を見つけるには、インターネットで「wmidosomething」を検索してみてください。別のオプションは、ドキュメントで関連するクラスを探すことです。