Alexander A Manaeff -

 
 

TeamViewer. Перезапуск из командной строки.

Microsoft Internet Security and Acceleration (ISA) Server
Microsoft Internet Information Services
Kerio Connect
Kerio Mail Server
Kerio Firewall
UserGate
DHCP, DNS, SMTP, POP, WWW, FTP

Модератор: UncleFather

TeamViewer. Перезапуск из командной строки.

Сообщение UncleFather » 26 янв 2016 14:02, Вт

Задача:

Необходимо запустить заданную версию TeamViewer, вместо той, которая уже запущена в системе. При попытке запуска видим сообщение:
Уже работает другой экземпляр TeamViewer. Закройте его перед запуском TeamViewer.

01.jpg





Решение:

Решение задачи заключается в том, чтобы выгрузить из памяти (завершить работу) всех запущенных экземпляров TeamViewer.
Для этого нужно создать и запустить от имени Администратора командный (bat) файл следующего содержания:
Код: Выделить всё
TaskKill /F /T /IM "TeamViewer*"
TaskKill /F /T /IM "tv_w*"
Net Stop TeamViewer7
Net Stop TeamViewer8
Net Stop TeamViewer9
Net Stop TeamViewer10
Net Stop TeamViewer11
TaskKill /F /T /IM "TeamViewer*"
TaskKill /F /T /IM "tv_w*"

PING -n 1 -w 10000 192.168.253.253 > nul

TeamViewerQS.exe


В этом сценарии мы сначала завершаем все процессы, начинающиеся с «TeamViewer» и с «tv_w» - процессы с такими именами обычно запускает TeamViewer.

Далее - останавливаем службу TeamViewer. Здесь мы по очереди останавливаем службы всех известных данный момент версий TeamViewer. Естественно, в системе будет только одна из служб, она и будет остановлена, а остальные команды «Net Stop ...» не произведут никаких действий - они нужны лишь для того, чтоб сделать скрипт универсальным.
После этого, на всякий случай, еще раз завершаем все процессы, начинающиеся с «TeamViewer» и с «tv_w» и ждем 10 секунд, чтобы служба TeamViewer уже точно остановилась.

Ну и в конце концов, запускаем ту версию TeamViewer, которая нам нужна (она должна находиться в той же папке, что и командный файл). В данном случае запускаем «TeamViewerQS.exe»

То же самое для Visual Basic Script:
Код: Выделить всё
On Error Resume Next

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "TaskKill /F /T /IM ""TeamViewer*""",0,False
WshShell.Run "TaskKill /F /T /IM ""tv_w*""",0,True
WshShell.Run "Net Stop TeamViewer7",0,True
WshShell.Run "Net Stop TeamViewer8",0,True
WshShell.Run "Net Stop TeamViewer9",0,True
WshShell.Run "Net Stop TeamViewer10",0,True
WshShell.Run "Net Stop TeamViewer11",0,True
WshShell.Run "TaskKill /F /T /IM ""TeamViewer*""",0,False
WshShell.Run "TaskKill /F /T /IM ""tv_w*""",0,True

WScript.Sleep 1000*10

WshShell.Run "C:\полный путь к желаемой версии\TeamViewerQS.exe",1,False


О том, как запустить VBS скрипт от имени Администратора, читаем статью VBS. Как запустить скрипт от имени администратора.
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1311
Зарегистрирован: 17 авг 2004 16:20, Вт

Вернуться в Сетевые службы (сервисы)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff -
@Mail.ru .