Как запустить Vbscript в повышенном режиме (запуск от имени администратора)

С введением контроля учетных записей (UAC) в Windows Vista вы обычно открываете командную строку с повышенными правами, чтобы запускать пакетные файлы и сценарии, которым требуются права администратора. Приложения могут использовать файлы манифеста (используя флаг RequireAdministrator ) для автоматического запуска с повышенными правами .

В отношении сценариев в этой статье приводятся некоторые изящные маленькие хитрости, с помощью которых вы можете автоматически повышаться с помощью параметра ShellExecute «runas».

( См. Также Как автоматически поднять пакетный файл для запуска его от имени администратора? Для другого метода автоматического повышения прав.)

Запустить VBScript повышенных

Спасибо Джиму Барри за сообщение об использовании аргумента runas в методе ShellExecute объекта Shell.Application. Используя предложения Джима, мой оригинальный сценарий был сильно сжат. Используйте один из этих методов для запуска VBScripts с повышенными правами.

$config[ads_text6] not found

Способ 1

Вот пример сценария, который повторно запускается от имени администратора (с повышенными правами ) с использованием параметра runas, если в сценарии не переданы аргументы командной строки. При повторном запуске сценария с правами администратора просто передайте фиктивный аргумент, чтобы сценарий не работал в циклическом цикле.

 Если WScript.Arguments.length = 0, то установить objShell = CreateObject ("Shell.Application") 'передать ложный аргумент, скажем, [uac] objShell.ShellExecute "wscript.exe", Chr (34) & _ WScript.ScriptFullName & Chr (34) & "uac", "", runas ", 1 Else 'Добавьте сюда свой код End If 

Способ 2

Этот метод использует сценарий запуска, который запускает основной VBScript с повышенными правами с помощью глагола runas .

Set objShell = CreateObject("Shell.Application") Set FSO = CreateObject("Scripting.FileSystemObject") strPath = FSO.GetParentFolderName (WScript.ScriptFullName) If FSO.FileExists(strPath & "\MAIN.VBS") Then objShell.ShellExecute "wscript.exe", _ Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1 Else MsgBox "Script file MAIN.VBS not found" End If 

Вы увидите диалоговое окно повышения UAC.

Когда пользователь нажимает кнопку « Продолжить», основной сценарий запускается от имени администратора.

СВЯЗАННЫЕ: Как автоматически поднять пакетный файл, чтобы запустить его от имени администратора?

ПОХОЖИЕ СТАТЬИ