2006/02/01(Wed) 14:26:41 編集(投稿者)
> お教えいただいたVBSは参考になりました。
今回のは桐だけでできる処理だったと思いますが
VBS や WMI って、結構おもしろいですよ!?
今回のスクリプトではローカルな環境のプロセスの実行状態を取得
しましたが WMI だと、ローカル環境にとどまらず、ホンの少しの変更
でリモートの状態の取得やら操作も可能です。
LAN内にかかわらず VPN などでもネットでつながっていると、いろんな
事ができたりするわけですね・・・
たとえば
'-------------------------------------------------------------------------
strComputer = "192.168.0.254"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'kiri9.exe'")
If colProcesses.Count = 0 Then
WScript.Echo "Kiri is not running."
Else
WScript.Echo "Kiri is running."
End If
'-------------------------------------------------------------------------
strComputer に IPアドレスやパソコン名を指定するだけでリモートの
パソコンの桐の実行状態がわかります。
strComputer = "." とすれば、自分自身のパソコンを意味します。
また
'-------------------------------------------------------------------------
For Each Process in GetObject("winmgmts:{impersonationLevel=impersonate}!\\192.168.0.254\root\cimv2").ExecQuery("SELECT * FROM Win32_Process WHERE NAME='kiri9.exe'")
Process.Terminate
MsgBox "PIDが " + CStr(Process.ProcessId) + " の「桐」を終了しました。"
Next
'-------------------------------------------------------------------------
Terminate を指定してやると、リモートの桐を終了させることも
可能です。ただし、桐の場合は他人からの終了願いをちゃんと受け
取って処理してくれないので、桐の場合だけは強制終了になって
しまいます。UPSなどの電源断でも桐は強制終了になると思います。
あとは
'-------------------------------------------------------------------------
GetObject("winmgmts:{impersonationLevel=impersonate}!\\192.168.0.254\root\cimv2:Win32_Process").Create "C:\Program Files\KIRIv9\System\KIRI9.EXE", Null, Null, Pid
MsgBox "Pid : " + CStr(Pid) + " で「桐」を起動しました。"
'-------------------------------------------------------------------------
リモートのパソコン上の桐を実行する方法です。
ただ、この場合は、リモートのパソコンの対話的にログオンしている
デスクトップを指定してないので、人には目に見えない形での桐の
実行になります。完全無人で動き、そして、終了するような一括処理
だと何か使い道でも出てきますでしょうか?
結構、いろんな事ができちゃったりします。
ただ、注意しないといけないのは、Windows XP の場合、SP2 になって
ファイヤウォールが装備され、デフォルトの状態でこのような機能は
通さなくなったので、これらの機能を使うには少し設定の変更が必要
です。
XP SP2のファイアウォールでリモート管理を有効にする
http://www.atmarkit.co.jp/fwin2k/win2ktips/483sp2admin/sp2admin.html
でわでわ (^^)