Saturday, May 9, 2009

Script to check, start and send mail the failed Windows Cluster Resource

"Cluster.vbs"
On Error Resume Next

Set oShell = CreateObject("WSCript.shell")
sCmd = "C:\fix.bat"

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\mscluster")

Set colItems = objWMIService.ExecQuery("Select * from MSCluster_ResourceGroup")

For Each objItem in colItems
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Persistent state: " & objItem.PersistentState
Wscript.Echo "State: " & objItem.State
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo

if objItem.Name = "Cluster Name" then
if objItem.State = 2 or objItem.State = 3 then
oShell.Run sCmd, 7, False

Set objEmail = CreateObject("CDO.Message")
objEmail.From = "your@email.com"
objEmail.To = "your@email.com"
objEmail.Subject = "Cluster Resource Down!"
objEmail.Textbody = "Please take necessary action."
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"170.38.24.53"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
end if
end if
Next

----------------------------------------------------------------------------------------
"Fix.bat"

cluster group resource1 /online
Welcome to blogging world.......