スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

LotusScriptからWMI を呼び出す

2010年12月03日 00:13

Microsoftのスクリプトセンターを見ているとこの辺のScriptをLotusScriptでも利用できないかなあ・・・と思うことがよくあるのですが、今日はそんなときのためのサンプルを取り上げてみましょう。

基本的にはスクリプトセンターのコードはVBSベースなのでほとんどの場合は以下の二点だけ気を付ければ流用することが出来ます。

・ WScript.Echoは Messageboxに変える (サンプル用に出力している場合がほとんどなので、コメントアウトしたり、Print文に変えても問題ありません)
・ For Each が出てきたらForall に変える

例えば以下の例を挙げてみます

プロセス パフォーマンスの監視(スクリプトセンター)

これをLotusScript用に変えてみます。
全プロセスをメッセージボックスで出力しても面倒なので、ここでは nlnotes.exeの情報だけ出すように変えておきます。
Sub Click(Source As Button)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process")
Forall objProcess In colProcessList
If (objProcess.Name = "nlnotes.exe") Then
Msgbox "Process: " & objProcess.Name
Msgbox "Process ID: " & objProcess.ProcessID
Msgbox "Thread Count: " & objProcess.ThreadCount
Msgbox "Page File Size: " & objProcess.PageFileUsage
Msgbox "Page Faults: " & objProcess.PageFaults
Msgbox "Working Set Size: " & objProcess.WorkingSetSize
End If
End Forall
End Sub



意外と簡単ですね。
WMIのサンプルはスクリプトセンターから探してもいいですし、WMI Code Creator などを使ってメソッドやプロパティの一覧(ついでにサンプルを出力してくれます)などを取り出しながら作ってもいいと思います。

是非使えそうな機会があったら試してみてください!


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/365-92e7a0bc
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。