Тема: VBS: WMI поиск установленного SQL сервера и перезапуск службы.
Доброго времени суток уважаемые коллеги, хотелось бы у вас уточнить каким образом возможно определить какой именно Сервер SQL установлен и перезапустить службу. Сервера могу быть 2000,05,08 полноценные и Express версии ...
Вот что у меня получается:
strComputer = "."
srt=""
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")
Set colSQLServices = objWMIService.ExecQuery _
("SELECT * FROM Win32_Service WHERE State = 'Running' and Name like '%SQL%'")
For Each objService in colSQLServices
str = str & objService.Name & vbcrlf
Set colStopList = objWMIService.ExecQuery("Associators of " _
& "{Win32_Service.Name=' ""objService.Name"" '} Where " _
& "AssocClass=Win32_DependentService " & "Role=Antecedent" )
For each objStopedService in colStopList
'objStopedService.StopService()
str = str & objStopedService.Name & " set restart " & vbcrlf
Next
Wscript.Sleep 100
Set colStopList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='NetDDE'")
For each objStopedService in colStopList
'errReturn = objStopedService.StopService()
str = str & objStopedService.Name & " set restart " & vbcrlf
Next
Next
В моем случае ищу из списка совпадения, и найдя по Name like '%SQL% - вывожу имя службы и перезапускаю, зависимости и саму службу ...
Дабы избежать перезапуска служб которые могут попасть под like '%SQL% - прошу у вас совета каким образом выйти на службу сервера или инстансов ...
За ранее благодарен за совет ![]()


