Требуется доработать скрипт, чтобы при его запуске появлялся запрос на повышение прав
Здравствуйте, господа программеры!
Задача: есть файл скрипта, находящийся в папке Windows\System32, который выполняется (должен выполняться в Windows 7/Vista). При отключенном UAC все нормально, при включенном - не работает. Условие: выполнить скрипт без отключения UAC (с появлением запроса на повышение прав) и использования других программ. Смотрел: http://www.winhelponline.com/article...elevation.html и http://forum.script-coding.info/viewtopic.php?pid=32735 Надеюсь на вашу помощь. Файл скрипта называется manage-bde.vbs |
может через предварительно настроенное задание планировщика запускать?..
поробно: Create Administrator Mode Shortcuts Without UAC Prompts in Windows 7 or Vista |
Нет, скрипт выполняет функции сбора дополнительной информации (аргумента) для команды, выполняемой из командной строки, а запуск осуществляется из реестра с дополнительными ключами.
Это не отдельная задача, поэтому планировщик не пойдет. Кстати, есть русскоязычный вариант статьи у нас: Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC |
deepred, нужен просто запрос на повышение прав. Никаких имен пользователя и паролей в скрипте быть не должно.
|
deepred, спасибо, но...
Может я неполно оговорил условия. Скрипт запускается из реестра по команде Код:
wscript.exe manage-bde.vbs -lock -forcedismount %1 В настоящий момент вот такая ошибка Ярлык никакой не нужен, вернее, может его временно в профиль пользователя помещать? Заменил Код:
strDstPath = "Путь к manage-bde.exe" Код:
strDstPath = "%windir%\system32" |
okshef,
ёлки-палки..., ты просто партизан! По поводу "%windir%\system32", как насчет ExpandEnvironmentString? Но это так, лирика... Про реестр надо было сказать сразу, если у тебя эта софтина прописана в реестре (кстати, в каком разделе - не Run kb и в каком корне?) и судя по твоему скрину содержится в Path то, "%windir%\system32" вообще не нужен (тем более, что "спецальные папки" надо изначально "развернуть"). А ярлык заменится автоматически при новом запуске скрипта, хотя добавь три строчки и его можно удалять по окончанию сеанса WSH |
HKEY_CLASSES_ROOT\drive\shell....
Цитата:
Цитата:
Цитата:
|
deepred, может будет понятнее, если я дам ссылку на тему, для чего это все: http://social.technet.microsoft.com/...3-67fe8657bc0f
пост Les Ferch При отключенном UAC работает превосходно. Нужно, не пользуясь дополнительными программами, запустить скрипт с запросом на повышение прав. |
okshef,
В общем понятно, т.е. у тебя выскочил bug с учетками? Ладно, тема знакомая, все, что было написано мною ранее остается в силе, но есть одно уточнее... При включенном UAC у тебя что происходит - вообще ничего или выходит запрет? Тебе надо просто отладить этот скрипт, косяк там кроется в том, что при активном UAC запуск manage-bde может производиться только от имени учетной записи локального администратора (по идее должен существовать какой-нибудь манифест, в котором это прописано). Попробуй просто исключить путь к файлу, если у тебя автоматом он вносится в wshshortcut. Bitlocker штука скользкая, по той ссылке которую ты скинул есть пост, он в самом конце - я бы его попробовал применить, хотя рассматриваемый вариант должен работать... |
deepred, у меня при включенном UAC не происходит ничего (при исходном скрипте), т.е. скрипт просто не запускается. Есть вариант использовать программу Elevate - но это не красиво: окно командной строки, и пр. и пр.
Как мне казалось поначалу в есть рациональное звено, но как связать - не знаю, ибо, полный ноль. |
okshef,
Скрипты стандартные и рабочие, но первый еще больше усложнит запуск твоего кода с параметрами, а второй будет просто лишним переходом. При все этом конструкцию execute ты можешь использовать и в своем сценарии: Код:
т.е : Параметры: <File> - строка. Имя файла. <Arguments> - строка (необязательный). Параметры для <Operation>. <Directory> - строка (необязательный). Путь к каталогу с указанным файлом. Если не указан, используется текущий каталог. <Operation> - строка (необязательный). Действие ("глагол"), которое необходимо выполнить. Если не указан, используется действие по умолчанию. <Show> - число (необязательный) |
deepred, я никогда не писал скрипты и не понимаю в них ничего. Мне нужен готовый, который можно было бы использовать.
|
Цитата:
Будьте проще, сделайте готовый скрипт :) |
Vadikan,
Цитата:
Цитата:
Код:
Args = "" Приведенный сценарий работает на Win7 Ultimate и Home Premium, но при проверке не сработал на WinVista Home Premium и Business, хотя это может быть частный случай. |
deepred, СПАСИБО! Отчитываюсь: Windows 7 x 32 Максимальная, сработал чудно. Убрал
Код:
Wscript.Echo "Сценарий выполнен" |
|
deepred, не вижу бага...
Цитата:
Цитата:
|
Время: 02:45. |
Время: 02:45.
© OSzone.net 2001-