| 2005年01月 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
システム管理上、イベントログを読み出して何かをしたいというのはよくあることと思いますが、WMI でイベントログのクエリーを行うと異常に遅い!
これでガックリ来て「WMI つかえねー」って思っちゃう人が多いような気がします(推測)
ところが ExecQuery には iFlags 引数があります。
iFlags のデフォルトは wbemFlagReturnImmediately ですが、wbemFlagReturnImmediately + wbemFlagForwardOnly とすると格段に速くなります。
このパラメータを指定した場合の制限事項は、結果セットに対して SWbemObject.Clone_ が使えないということだけです。
このことに気が付いたのは WMI Scripting Primer: Part 3 からです。
この記事の Part 1 と Part 2 については日本語訳(WMI スクリプト入門 : 第 1 部、WMI スクリプト入門 : 第 2 部)があるんですが、Part 3 だけ今もありません。
ま、だまされたと思って一度試してみてください!
パラメータ追加だけなので変更も簡単です。