Как из коммандной строки(в частности из bat) выполнить команду от имени администратора с запросом от UAC?

Но так, чтобы login админа знать было необязательно и не было запроса пароля.

21 Responses to Как из командной строки выполнить команду от имени админа с запросом от UAC?

  1. Ekusosa:

    Сам батник запускается не в elevated режиме.
    Но в нем вызывается одна комманда, которая будет просить привилегий.

  2. Enirsuper:

    Использование команды

    RUNAS [ [/noprofile | /profile] [/Envzerg] [/savecred | /netonly] ]
    /<имя пользователя> <программа>

    RUNAS [ [/noprofile | /profile] [/Envzerg] [/savecred] ]
    /smartcard [/<имя пользователя>] <программа>

    RUNAS /<уровень доверия> <программа>

    /noprofile Не загружать профиль пользователя. Это приводит к более
    быстрой загрузке приложения, но может стать причиной
    неправильной работы некоторых приложений.
    /profile Загружать профиль пользователя.
    Этот параметр установлен по умолчанию.
    /Envzerg Использовать текущие параметры среды.
    /netonly Учетные данные предназначены только для удаленного
    доступа.
    /savecred Использовать учетные данные, сохраненные пользователем.
    Этот вариант не доступен в выпусках Windows 7 Домашняя или
    Windows 7 Начальная
    и будет проигнорирован.
    /smartcard Для указания учетных данных используется
    смарт–карта.
    /user <имя пользователя> должно быть в виде [email protected] или DOMAINUSER
    /showtrustlevels Отобразить список уровней доверия, которые можно
    использовать в качестве аргументов параметра /trustlevel.
    /trustlevel Значение <уровень доверия> должно быть перечислено в
    списке уровней доверия.
    <программа> Командная строка для EXE. См. примеры ниже.

    Примеры:
    > runas /noprofile /mymachineadministrator cmd
    > runas /profile /Envzerg /mydomainadmin «mmc %windir%system32dsa.msc»
    > runas /Envzerg /[email protected] «notepad «Мой файл.txt»»

    Примечание: вводите пароль пользователя только тогда, когда он запрашивается.
    Примечание: параметр /profile несовместим с параметром /netonly.
    Примечание: параметр /savecred несовместим с параметром /smartcard.

  3. Ekusosa:

    «и не было запроса пароля.»
    Runas пароль спрашиивает.

  4. Ekusosa:

    1. «так, чтобы login админа знать было необязательно»
    2. «и не было запроса пароля.»

    runas требует того и другого

  5. Enirsuper:

    а какой он тогда админ, если от него можно запустить некоторую программу без подтверждения паролем?

  6. нилпY:

    Непонятно — если запускать батник под админом, то запускаемая из батника программа просит привелегий в UAC как обычно. Если не под админом — то с какой стати из под него без пароля что–то можно запускать?

    Как вариант — сделайте в шедулере скрипт для запуска с правами админа, в нем настройте один раз логин и пароль, и в батнике запускайте именно скрипт.

  7. Ekusosa:

    Не знаю. Тот, который в правом клике по Run as administrator живет. Там, почему–то, пароля не спрашивает.

  8. Ekusosa:

    Если не под админом — то с какой стати из под него без пароля что–то можно запускать?
    Run as administrator из контестного меню запросто запускает софт с повышенными привилегиями без пароля и без запроса юзернэйма. Я спрашиваю, как это повторить из коммандной строки.

  9. Ekusosa:

    нилпY: Вот кроме шедулера в голову ничего не приходит, но проблема в том, что у меня надо запускать комманду с динамическими параметрами, а как их передать в задание шедулера я не знаю.

  10. Enirsuper:

    если пользователь, запускающий это является админом. Попробуйте проделать тоже самое из под ограниченной учетки 🙂

  11. нилпY:

    попробовал бы для начала через %1 %2 параметры передать

  12. Ekusosa:

    а мне и не надо из ограниченной )

  13. Ekusosa:

    Короче простого способа нет?

    Видно придется написать тупо консольное приложение на.Net каком–нибудь, которое будет просить элевэшна и делать exec на параметр. Странно что такого в стандартной поставке нету.

  14. Xuaona:

    наверняка можно сделать через PowerShell. Microsoft забила на обычные консольные тулзы и продвигает павершелл.

  15. Snavob:

    Application Compatibility Toolkit и отключить UAC для твоей команды и/или для всего cmd

  16. Ekusosa:

    неприемлемо. Запуск должен быть возможен на произвольной машине с семеркой.
    Кастомное приложение видится мне наилучшим вариантом.

  17. NeruIDD:

    Я, например, использую скрипт elevate.JsU

  18. Ekusosa:

    то, что нужно )

  19. UPnezerg:

    Ну и чем тогда не подходит
    > RUNAS /<уровень доверия> <программа>?
    Никакого логина–пароля.

  20. LoitE:

    Отличная штука, давно искал такую! Спасибо.

  21. Максим:

    ничего не понял, что за скрипт «elevate.JsU»? что-то мне поиск ничего не выдал путного, только про универ какой-то.

    runas не подходит потому что можно работать под обычного пользователя и в списке есть только «0x20000 (Обычный пользователь)», хотя прогу или батник можно запустить через контекстное меню с выбором «запустить от админа» и никакого пароля не спросится.

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

Ваш e-mail не будет опубликован.