Запуск программы из VBScript с правами администратора из под обычного пользователя

  • 27.01.2023
  • 3 058
  • 0
  • 4
  • 4
  • 0
Запуск программы из VBScript с правами администратора из под обычного пользователя

Использование оболочки Shell.Application

Обычно для запуска из VBScript какого-либо исполняемого файла используется оболочка WScript.Shell. Выглядит это следующим образом:

Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd.exe", 1, True

У данного способа есть один недостаток - он не позволяет запустить файл с повышением прав до уровня администратора, используя UAC. То есть, если выполнить данный vbs файл из под обычного пользователя, то мы не сможем никаким образом повысить права запущенной командной строки до администратора.

Но в Windows есть другая оболочка для запуска приложений - Shell.Application. Запуск Командной строки в данном случае будет выглядеть вот так:

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cmd.exe", , , "runas", 1

Параметр runas в данном случае заставляет оболочку проверять наличие прав администратора у пользователя - в случае их отсутствия, будет выведено окно UAC для повышения прав.

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.