VBS. Как запустить скрипт от имени администратора.

Здесь обсуждаются вопросы по программированию на Visual Basic.


Модератор: UncleFather

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

VBS. Как запустить скрипт от имени администратора.

Сообщение UncleFather »

Задача:

Необходимо запустить созданный ранее VBS скрипт от имени Администратора.


Решение 1:

Чтобы запустить VBS скрипт от имени Администратора, создаем ярлык для нашего vbs-скрипта. Но просто так установить галочку «Запуск от имени Администратора» в дополнительных свойствах ярлыка не получится, так как она просто неактивна.

03.jpg
03.jpg (28.4 КБ) 13112 просмотров

Чтобы эта галочка стала доступной, нужно в свойствах ярлыка (на той же вкладке «Ярлык», где находится кнопка «Дополнительно»), в поле «Объект», перед путем до скрипта vbs, пишем «wscript» и ставим пробел. Получится как-то так:

wscript C:\Users\Manaeff\Desktop\!TeamViewerStarting.vbs

02.jpg

Сохраняем изменения и вновь открываем свойства ярлыка. Замечаем, что в поле «Объект» наш «wscript» поменялся на «C:\Windows\System32\wscript.exe». На вкладке «Ярлык» опять жмем кнопку «Дополнительно». Теперь, в открывшемся окне дополнительных свойств ярлыка, галочка «Запуск от имени Администратора» доступна.

04.jpg
04.jpg (34.18 КБ) 13112 просмотров

Ставим ее и сохраняем свойства ярлыка.


Решение 2:

Можно создать командный (bat) файл для запуска vbs скрипта из него:

Код: Выделить всё

runas /User:Администратор MyScriptName.vbs

Но этот сценарий будет запрашивать пароль для повышения прав.


Решение 3:

Можно создать командный (bat) файл, который, в свою очередь, нужно запускать от имени Администратора, а из него запускать vbs скрипт, который тоже уже запустится от имени администратора:

Код: Выделить всё

%~dp0MyScriptName.vbs

Здесь предполагается, что vbs скрипт лежи тв одной папке с bat файлом, поэтому, для запуска скрипта мы указываем имя диска и путь, где они лежат: %dp0

Так, в задаче о перезапуске TeamViewer из командной строки можно модифицировать батник, из которого запускается VBS скрипт и сам скрипт следующим образом:
bat-файл:

Код: Выделить всё

@Echo Off
%~dp0TeamViewerStarting.vbs %~dp0

То есть, при запуске скрипта, мы указываем путь, где лежит bat-ник, а так же передаем в VBS в качестве параметра этот путь.

TeamViewerStarting.vbs будет таким:

Код: Выделить всё

On Error Resume Next

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

Set objArgs = WScript.Arguments
'WScript.Echo objArgs(0)

WScript.Sleep 1000*10

WshShell.Run objArgs(0) & "TeamViewerQS.exe",1,False

Дополнение: Как запустить батник (командный файл) от имени администратора


Alexander A. Manaeff©

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

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

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