C0D3X, у Вас нет задачи. У Вас есть придуманное якобы решение, которое ни разу не решает реальной задачи.
Что на самом деле происходит со службой? Как определяете, что она «зависает»? Что сообщает ОС о «зависшей» службе? Что в журналах событий? Что в логах самой службы? Каково состояние службы в этот момент? Вот какие вопросы надо задавать, и какие задачи решать, вместо того, чтобы тупо периодически перезапускать службу в процессе работы. Это не решение, это извращение. Попытка закрыть глаза на реально существующую проблему.
Я, конечно, нарисую Вашу хотелку, но проверить её работоспособность банально не смогу, поскольку у меня никогда такой проблемы с «FileZilla Server» не возникало.
Скрытый текст
Код:

Option Explicit
Dim strServiceName
Dim objSWbemServicesEx
Dim objSWbemObjectEx
strServiceName = "FileZilla Server"
Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_Service.Name='" & strServiceName & "'")
If objSWbemObjectEx.Started Then
If objSWbemObjectEx.AcceptStop Then
If objSWbemObjectEx.StopService() = 0 Then
Do
WScript.Sleep 100
Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_Service.Name='" & strServiceName & "'")
Loop While objSWbemObjectEx.Started
StartService
Else
WScript.Echo "Can't stop service [" & strServiceName & "]."
With objSWbemServicesEx.Get("Win32_Process.Handle='" & CStr(objSWbemObjectEx.ProcessID) & "'")
If .Terminate() = 0 Then
StartService
Else
WScript.Echo "Can't terminate process of service [" & strServiceName & "]."
End If
End With
End If
Else
WScript.Echo "Service [" & strServiceName & "] can't be stopped."
End If
Else
StartService
End If
Set objSWbemObjectEx = Nothing
Set objSWbemServicesEx = Nothing
WScript.Quit 0
'=============================================================================
'=============================================================================
Sub StartService()
If objSWbemObjectEx.StartService() = 0 Then
Do
WScript.Sleep 100
Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_Service.Name='" & strServiceName & "'")
Loop Until objSWbemObjectEx.Started
Else
WScript.Echo "Can't start service [" & strServiceName & "]."
End If
End Sub
'=============================================================================