Windows Server 2008 R2で仮想デスクトップを使用しています。(XenApp 6.5を使用) サーバには80名程度のユーザがログオンして、それぞれアプリケーションを起動しているため、 プロセスの数が非常に多くなります。(同じプロセス名でもユーザ数分起動しているため) 上記の環境であるアプリを終了する際に、サブ画面のプロセスが起動している場合は 一緒に終了するような作りにしたいと考えており、現在のところ以下のWMIのスクリプトを 使用してプロセスの一覧を取得し、for文で一覧から該当するプロセスIDを特定してkillする というような仕組みを検討しております。 Strcomputer = "." Set objWMIService = GetObject("winmgmts:\\" & Strcomputer & "\root\cimv2") Set colitems = objWMIService.ExecQuery("Select * from Win32_Process", , 48) ただ、上記のようにWin32_Processを使用すると、サーバ上で起動している全ユーザの プロセスが検索対象となってしまうため、処理に時間がかかることを懸念しております。 可能であれば、そのユーザだけのプロセスを検索対象としたいのですが、 そのような方法はありますでしょうか? WMI以外の方法でも構いませんので、アドバイスを頂けると助かります。
↧