----- スクリプト例(procnum.js) -----
var Args = WScript.Arguments;
var Locator = WScript.CreateObject("WbemScripting.SWbemLocator");
var Service = Locator.ConnectServer();
var Num = 0;
var ProcessName = "ttermpro.exe";
var ProcessSet = Service.ExecQuery("select * from Win32_Process");
for(var e = new Enumerator(ProcessSet); !e.atEnd(); e.moveNext()){
var p = e.item();
if(p.Caption == ProcessName)
Num++;
}
WScript.Echo(Num);
----- ここまで -----
TNK - 投稿数: 4769
Windows上にスクリプトを配置して、そのスクリプト内に指定した
固定プロセス名のプロセス数を確認することならできると思います。
ただし、複数パターンの日本語プロセス名での監視を行われたいの
であれば、複数のスクリプトを用意するか、引数で切り替えるよう
なスクリプトを用意する必要があるでしょう。
日本語プロセス名では確認していませんが、例えば、
UserParameter=proc.num2,cscript //NoLogo スクリプト名
などと指定してスクリプトを実行できると思います。
スクリプト名の指定にドライブやパスを指定すると思いますが、
UnsafeUserParameters=1
を指定しておかないと、パス内のバックスラッシュなどでエラーと
なってしまったかもしれませんのでご注意ください。
ご参考:
http://www.zabbix.jp/node/1032
----- スクリプト例(procnum.js) -----
var Args = WScript.Arguments;
var Locator = WScript.CreateObject("WbemScripting.SWbemLocator");
var Service = Locator.ConnectServer();
var Num = 0;
var ProcessName = "ttermpro.exe";
var ProcessSet = Service.ExecQuery("select * from Win32_Process");
for(var e = new Enumerator(ProcessSet); !e.atEnd(); e.moveNext()){
var p = e.item();
if(p.Caption == ProcessName)
Num++;
}
WScript.Echo(Num);
----- ここまで -----
ProcessNameを適宜変更してください。
かかし - 投稿数: 52
早速の返信ありがとう御座います。
無事、日本語のプロセスも監視することができました!