我想利用簡單的 windows 功能來做一件事,
就是觀查 windows server 的 services 狀態,
目前遇到一個問題就是,有一個services會不定時中斷。
因此想看能不能有小巧、Microsoft官方的工具能監控到該services的狀態,
當那個服務沒啟動 (意外關閉,或是人為關閉),都要記錄services關閉的時間點。
請各位達人,能否幫幫忙,有無簡單、小巧、免費、Microsoft的解決方法。
如果妳會寫 WMI Script 的話, 下面這個可以列出所有 stop 的 Service:
<pre class="c" name="code">strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")
Set colStoppedServices = objWMIService.ExecQuery _
("SELECT DisplayName,State FROM Win32_Service WHERE State <> 'Running'")
For Each objService in colStoppedServices
Wscript.Echo objService.DisplayName & " = " & objService.State
Next
更詳細的說明可以參考:
http://technet.microsoft.com/en-us/library/ee198765.aspx
如果要用powershell來列出stop的services
指令碼:get-service | where-object {$_.Status -eq "Stopped"}
參考網址:
http://technet.microsoft.com/zh-tw/library/dd125460.aspx