Listing A: IdentifySQLComputers2.vbs ‘ BEGIN CALLOUT A strComputerContainer = "cn=Computers,dc=acme,dc=com" ‘ END CALLOUT A strServiceName = "MSSQLSERVER" ‘ BEGIN CALLOUT B Set objContainer = GetObject("LDAP://" & strComputerContainer) objContainer.Filter = Array("Computer") ‘ END CALLOUT B Set StdOut = WScript.StdOut Set objShell = CreateObject("WScript.Shell") On Error Resume Next ‘ BEGIN CALLOUT C For Each objComputer In objContainer strComputer = Split(objComputer.Name, "=")(1) ‘ END CALLOUT C Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " & strComputer) strPingResults = LCase(objScriptExec.StdOut.ReadAll) If InStr(strPingResults, "reply from") Then Set objWMIService = GetObject("winmgmts:" & _ "{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2") If Err.Number Then StdOut.WriteLine "ERROR: " & strComputer & " [WMI connection failed]" Err.Clear Else Set objService = objWMIService.Get("Win32_Service.Name='" & _ strServiceName & "'") If Err.Number Then StdOut.WriteLine "GOOD: " & strComputer & _ " [MsSqlServer service NOT found]" Err.Clear Else StdOut.WriteLine "BAD: " & strComputer & _ " [MsSqlServer service FOUND]" End If End If Else StdOut.WriteLine "ERROR: " & strComputer & " [Ping failed]" End If Next