VBScriptでWindowsの開始中サービスを取得して表示する方法【WMI】

VBScript

VBScriptで、Windowsの開始中サービスを取得して表示する方法です。

このコードをコピーしてテキストファイルを作成し、拡張子を「.vbs」に変えればすぐに使えます。

このプログラムの動作詳細

■Windowsの開始中のサービスを取得
■サービス名が「Adobe」から始まるものが対象
■取得したサービスをメッセージボックスで表示

サービス名の部分は自由に改変して、欲しいサービスを取得してください。
また、取得したサービスをメッセージボックスで表示させずに、ファイルを作ったりコンソールに出力させたが有用だと思います。

スポンサードリンク


WMIとは

WMIについて補足しておきます。
IT用語辞典 e-Wordsさんの説明がわかりやすかったので、引用させていただきました。

WMI 【 Windows Management Instrumentation 】(IT用語辞典 e-Words)
WMIはコマンドラインツールやスクリプト言語などからWindowsの設定情報やコンピュータの状態などにアクセスするための標準仕様で、管理者がシステムの状態を把握したり、管理を自動化するスクリプトを記述する際に使われる。ネットワークを通じて他のコンピュータを管理することもでき、企業内ネットワークなどで複数のコンピュータを集中的・効率的に管理するのに役立つ。

ソースコード

※このコードでは「Adobe」から始まるものだけに絞っています。
これを変更したい場合は「And Name Like 'Adobe%'」を外すなり、別なサービス名に変更して下さい!

Option Explicit

'WMIにて使用する各種オブジェクトを定義・生成する。
Dim ClassSet, Locator, Service
Dim wClass
Dim MesStr

'ローカルコンピュータに接続する。
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
'クエリー条件を WQL にて指定する。停止を拾いたい場合は「State = Stopped」
Set ClassSet = Service.ExecQuery("Select * From Win32_Service Where State = 'Running' And Name Like 'Adobe%'")

'コレクションを解析する。
For Each wClass In ClassSet

    MesStr = MesStr & wClass.Caption & vbCrLf

Next

'メッセージボックス表示
MsgBox MesStr

'使用した各種オブジェクトを解放
Set ClassSet = Nothing
Set wClass = Nothing
Set Service = Nothing
Set Locator = Nothing

実行結果

このように、「Adobe」から始まるサービス名を取得することができました!

スポンサードリンク

ITリテラシー・プログラミングのまとめ記事