Iska,
взял ваш скрипт, но с правкой не въеду
надо чтоб проверялось раз в 30мин запущен ли teamviewer, если нет, то запускал бы
поправил путь
Код:

Option Explicit
Dim lngProcessID
With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".",
"root\cimv2")
Do
If .Get("Win32_Process").Create( _
"""C:\Program Files (x86)\TeamViewer\TeamViewer.exe"" -k
""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm""", _
Null, Null, lngProcessID) = 0 Then
.ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1
WHERE " & _
"TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.ProcessID = '" &
CStr(lngProcessID) & "'").NextEvent
Else
' Не удалось запустить процесс
Exit Do
End If
Loop
End With
WScript.Quit 0
но что-то не уверен, что этого достаточно.