eventquery.vbsよりPsLogList
リーマンショック以降、どこの職場でも様々な節約経費削減が行われていると思うが、「印刷枚数の削減」というのもよくあるネタのひとつ。
今時のネットワーク対応プリンタなら、ステータスを表示させることで印刷枚数自体は簡単に参照できるけど、誰が何枚印刷したかという話になると、プリンタ単独では厳しい。その手のソリューションを提供する商品はいくらでもあるけど、もちろん金はない(w
ということで、プリンタサーバー側のイベントログを処理して何とかしようと模索中。
で印刷されました。バイト数: 1211500; ページ数: 1 大抵のネットワーク対応プリンタなら、ドライバが
(ファイル名)は(プリンタ名)で印刷されました。バイト数: 1211500; ページ数: 1のようなイベントをログに残すので、このページ数を集計すれば良いかと思ったんだけど、肝心のイベントログ処理用のスクリプト(Windows Server 2003に標準で付いてくる"eventquery.vbs")がバグってるというか、処理対象のログのサイズがデカいとデータを取りこぼしてる感じで、所々ページ数(に限らず、イベントの文字列の後ろの方全般)が欠落する。イベントビューアで参照するとちゃんと記録されてるので、eventquery.vbsか、そのバックエンドであるWMI (Windows Management Instrumentation)もしくはWQL(WMI Query Language)の問題な気がする。
まぁ、eventquery.vbs自体、Windows 7/2008以降は標準添付されなくなった(wevtutil.exeに置き換わった)ようなので、もうちょっと汎用的なPsLogListを試してみると、こちらは取りこぼしも無いし、後処理しやすいようにイベントログのレコードを1行にしたCSV形式で出力するオプション(-s)もあるしで、かなりイイ感じ。









Recent Comments