WMI Fun !! 〜 WMI に興味がある方・システム管理者は必見です! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|Enquete|About WMI Fun !!
 My Let'snote|Personal|Insomnia|Link

WMI Fun !! > WMI Step > WMI のメソッドを使ってみよう

このエントリーをはてなブックマークに追加
ATM 利用時の入出金手数料が最大 7 回/月無料、楽天銀行
WMI スクリプトの実行結果を VBS を利用してメールで送信する方法を公開しています
パソコンに負荷のかからないウィルス対策なら ESET パーソナル セキュリティ

WMI のメソッドを使ってみよう - WMI Step

Topics

WMI ではプロパティによる情報の取得だけではなく、メソッドを使用したアクションを実行することも可能です。
前回のステップで実行したサンプルコードを以下のように書き換えてみましょう。



Sample Code

Private Sub Command1_Click()

Dim PrcSet As SWbemObjectSet
Dim Prc As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer

Set PrcSet = Service.ExecQuery _
  ("Select * From Win32_Process Where Description=""notepad.exe""")

For Each Prc In PrcSet

  Prc.Terminate
  MsgBox "PIDが" & CStr(Prc.ProcessId) & "のメモ帳を終了しました。"

Next

Set Prc = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub



Comment

まず実行する前にメモ帳を複数起動して置いてください。起動がすんだら実行しましょう。実行すると「PID が xxx のメモ帳を終了しました。」と言うメッセージが表示されメモ帳のプロセスがなくなっていることがわかります。 今回ポイントになる部分は、


Set PrcSet = Service.ExecQuery _
  ("Select * From Win32_Process Where Description=""notepad.exe""")



  Prc.Terminate

です。
前者は先程説明したとおりWQLを活用した例です。「Where Description=""notepad.exe""」を指定したことで、「notepad.exe」プロセスのみをコレクションとして取り出しています。
後者は Win32_Process クラスに存在する Terminate メソッドです。取得したコレクション全てに対して Terminate メソッドを実行することによって、実行していた「notepad.exe」を全て終了することになります。
この通り WMI を活用すれば柔軟な対応が可能になります。

次ではもうちょっとメソッドに関して触っていこうと思います。

次は「もっと WMI のメソッドを使ってみよう」です。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMI に関して調べているけど探し物が見つからない…という方は Search Result から検索してみましょう!!

MCP (Microsoft Certified Professional)、 MCA (Microsoft Certified Associate)CompTIA A+
一応 MCP (Microsoft Certified Professional)、MCA (Microsoft Certified Associate)、
CompTIA A+ を所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft 社のテクノロジーである WMI (Windows Management Instrumentation) の使い方を
Visual Basic を使ってのんびり公開しています
WMI は Windows 7 や Windows 8、Windows 10 で便利に使えますよ!
また VB や VBA、.Net (VB・C#) などの開発環境以外でも Win32/Win64 API に依存しないので WMIC や
WSH (VBS・JS)・PowerShell などスクリプト言語・コマンドラインから有効に活用が出来ます
Windows ベースの社内 IT システムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発に WMI はお勧めです

This website is created by Toh.
Copyright(C) 1997-2016 WMI Fun !! All rights reserved.
WMI Fun !! へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…