2

Я столкнулся с проблемой с VBscripts, когда я пытаюсь запустить их. Я работаю над Windows 8.1 с обновлением 1 Enterprise, подключенным к домену Enterprise, и вошел в систему с учетной записью домена. Эта учетная запись домена была добавлена в группу администраторов.

Мой VBscript должен создать папку и файл журнала в каталоге Program Files (x86). Если я запускаю этот VBscript, дважды щелкнув по нему с учетной записью локального администратора, он работает отлично. Но если я пытаюсь запустить тот же VBscript с моей учетной записью домена, я получаю сообщение об ошибке Доступ запрещен.

Одним из решений является полная деактивация UAC (со значением реестра enableLUA, установленным в 1), но этот метод блокирует приложения современного пользовательского интерфейса, и нам необходимо поддерживать выполнение этих приложений.

Можно ли предоставить полный контроль над выполнением VBScripts на любой учетной записи администратора, как это происходит в случае встроенной учетной записи локального администратора? Я еще не нашел решения этой проблемы, и я не могу поверить, что не существует никакого решения, особенно на предприятии.

2 ответа2

3

обычно я делаю это, чтобы вставить следующий код в начало моего скрипта:

If Not WScript.Arguments.Named.Exists("elevate") Then
  CreateObject("Shell.Application").ShellExecute WScript.FullName _
    , WScript.ScriptFullName & " /elevate", "", "runas", 1
  WScript.Quit
End If

Таким образом, если я запускаю VBS без прав администратора - он пытается работать, замечает, что я не являюсь администратором, а затем перезапускается - предлагая мне работать от имени администратора, и мы уходим.

Я знаю, это боль, но это довольно простое решение.

Надеюсь это поможет

0

Этот трюк полезен, если вы используете командную строку:

  1. Перейти к System32 (или Syswow4 для x64)
  2. Копирование cscript.exe и wscript.exe и назовите их csadmin.exe и wsadmin.exe
  3. Откройте их свойства, установите флаг "Запуск от имени администратора".

Теперь, если вы хотите запустить свой скрипт от имени администратора, используйте один из них:

csadmin myscript.vbs
wsadmin myscript.vbs

(И если вы хотите запустить по умолчанию, используйте wscript и cscript)

Примечание: Если вы хотите , чтобы запустить все скрипты администратора (окно контроля учетных записей будут появляться каждый раз), а затем просто установить "Запуск от имени администратора" флага на cscript.exe и wscript.exe

Надеюсь, поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .