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

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1503
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

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

Сообщение UncleFather »

Задача:

Необходимо запустить заданную версию 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. Как запустить скрипт от имени администратора.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение