Wednesday, September 23, 2009

Script to check if a service exist on multiple servers

We had a requirement where we had to check if a particular service is present on multiple servers using vbscript
******************************
Const ForReading = 1
Const SUCCESS = 0
stringInputFile = "C:\input.txt"
strService = "clipsrv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objectTextStream = objFSO.OpenTextFile(stringInputFile, ForReading)
arrServers = Split(objectTextStream.ReadAll, vbCrLf)
objectTextStream.Close
Set objShell = CreateObject("WScript.Shell")
On Error Resume Next
For Each strServer in arrServers
Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " & strServer)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") Then
Set objWMIService = GetObject("winmgmts:\\" & strServer)
If Err.Number <> 0 Then
WScript.Echo "FAILURE: " & strServer & " [WMI connection failed]"
Err.Clear
Else
Set objService = objWMIService.Get("Win32_Service.Name='" & strService & "'")
If Err.Number Then
WScript.Echo strServer & " FAILURE: " & strService & " [Service not found]" Err.Clear
Else
WScript.Echo strServer & " SUCCESS: " & strService & " [Service found]"
End If
End If
Else
WScript.Echo "FAILURE: " & strServer & " [ping failed]"
End If
Next
********************************************

No comments: