大家都知道Windows的事件日誌可由事件檢視器中觀看
但若是要管理大量的伺服器、觀看它們的log時
除了額外安裝第三方syslog的軟體外
其實微軟有內建WMI Service
完全符合 DMTF Common Information Model (CIM) 與 WBEM 規格
可以程式透過WMI讀取Windows系統事件日誌
大家都知道Windows的事件日誌可由事件檢視器中觀看
但若是要管理大量的伺服器、觀看它們的log時
除了額外安裝第三方syslog的軟體外
其實微軟有內建WMI Service
完全符合 DMTF Common Information Model (CIM) 與 WBEM 規格
可以程式透過WMI讀取Windows系統事件日誌
其實網路上盛名的"聖哥的資訊站"有更詳細和專業的教學
而我因工作需要稍微研究了一下
以下做個筆記,待之後實作後再進行補充
若有任何錯誤之處亦煩請各路朋友賜教 ^^
1.以WMI讀取事件日誌需要目標主機的管理員權限,或是網域的Domain Admin權限
2.設定的第一步是要先確認目標主機(被讀取事件的主機)的WM
可下指令 net start winmgmt 或從服務中啟動(預設是自動啟動的)
3.目標主機開啟防火牆TCP 135、139、445 port (是否三個都要開尚待確認)
以及依照 http://support.microsoft.com/
允許遠端系統管理、授與 DCOM 遠端啟動權限、開啟 DCOM 連接埠、新增用戶 端應用程式至 Windows 防火牆例外清單
4.選擇一種支援WMI的腳本語言(VBScript, Microsoft JScript, Perl, ASP, .Net written in C#, Visual Basic .NET, or J#)
5.程式邏輯大致上分為三個步 驟
a.連接到WMI服務
b.檢視WMI管理的資源
c.顯示WMI管理資源的內容及屬性
6.若以VB為例,將目標電腦的log中大部份欄位資料列印出來 (此範例參考自這裡)
strComputer = "目 標電腦名稱or IP"
Set wbemServices = Getobject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("
For Each wbemObject In wbemObjectSet
WScript.Echo "Log File: " & wbemObject.LogFile & vbCrLf & _
"Record Number: " & wbemObject.RecordNumber & vbCrLf & _
"Type: " & wbemObject.Type & vbCrLf & _
"Time Generated: " & wbemObject.TimeGenerated & vbCrLf & _
"Source: " & wbemObject.SourceName & vbCrLf & _
"Category: " & wbemObject.Category & vbCrLf & _
"Category String: " & wbemObject.CategoryString & vbCrLf & _
"Event: " & wbemObject.EventCode & vbCrLf & _
"User: " & wbemObject.User & vbCrLf & _
"Computer: " & wbemObject.ComputerName & vbCrLf & _
"Message: " & wbemObject.Message & vbCrLf
Next
另外Willie說有一套OpenSource的套件可以管理WMI
等到玩過後再上來分享
這裡暫且筆記一下
參考網站:
http://www.microsoft.com/taiwan/technet/prodtechnol/windows2000serv/technologies/activedirectory/deploy/wmi.aspx
http://cat14051.mysinablog.com/index.php?op=ViewArticle&articleId=344904
http://hi.baidu.com/netbugs/blog/item/26eed703891f1cec08fa93ab.html
http://support.microsoft.com/kb/875605
http://teacher.syset.com/viewforum.mspx?f=61&topicdays=0&sort=&order=DESC&start=200
http://msdn.microsoft.com/en-us/library/aa826517%28VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa393964%28v=VS.85%29.aspx#obtaining_data_from_WMI
從諮商輔導人心
到諮商輔導資訊系統及網路世界
雖繞了一大圈 但都是極具意義的事
秉持著過去所學 朝著自己的興趣
體驗著一輩子只有一次的人生~~