RubyでWindowsのイベントログを検索して出力
先日の札幌Ruby会議01のartonさんのセッションを見てから、「Windowsのシステム管理的なことをRubyでしてみたい」と考えるようになり、この本を買いました。
Rubyist Magazineの連載自体はWebでも見れるのですが、大幅に加筆されていて良い本だと思いました。
で、この本の中にRubyでWMIを使うという章があるのですが、「RubyからWMI呼べるってことは、結局WMIでできることは何でもできるんだよな」と思ったので、Rubyからイベントログを検索して出力するスクリプトを書いてみました。
おおー素晴らしい。MSDNのWMIライブラリは役に立ちますねー。
Rubyist Magazine出張版 Ruby on Windows
posted with amazlet at 08.11.30
cuzic
毎日コミュニケーションズ
売り上げランキング: 164579
毎日コミュニケーションズ
売り上げランキング: 164579
Rubyist Magazineの連載自体はWebでも見れるのですが、大幅に加筆されていて良い本だと思いました。
で、この本の中にRubyでWMIを使うという章があるのですが、「RubyからWMI呼べるってことは、結局WMIでできることは何でもできるんだよな」と思ったので、Rubyからイベントログを検索して出力するスクリプトを書いてみました。
#!/cygdrive/c/InstantRails/ruby/bin/ruby -Ks
require 'win32ole'
locator = WIN32OLE.new("WbemScripting.SWbemLocator")
services = locator.ConnectServer(".","root/cimv2")
eventset = services.ExecQuery("Select * From Win32_NTLogEvent Where Logfile='Sys
tem' " + "And TimeGenerated > '2008/11/01'")
eventset.each do |event|
puts "***********************************************"
print "EventCode: "
puts event.EventCode
print "EventType: "
puts event.EventType
print "EventDate: "
puts event.TimeGenerated
puts "Message: "
puts event.Message
end
exit
おおー素晴らしい。MSDNのWMIライブラリは役に立ちますねー。