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

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:| :) :wink: :D :lol: :( :cry: 8) :o :oops: :? :x :P :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen:
Ещё смайлики…

Markdown is OFF

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: TeamViewer. Перезапуск из командной строки.

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


Вернуться к началу