Как запустить программу с правами администратора при входе пользователя в систему под Windows?

11

Я использую Windows 8.1 x64, и я хотел бы запустить программу с правами администратора при входе пользователя.

Я попытался создать ярлык программы и поставил галочку «запускать от имени администратора» в свойствах ярлыка или самой программы, и поставил ярлык в C:\Users\MyUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupили C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp, но отметив флажок, просто сделал его недействительным.

Затем я отредактировал программу с помощью Resource Hacker, чтобы изменить ее манифест так, чтобы для этой программы требовались права администратора. Это также сделало ярлыки в каталогах запуска недействительными. После этого я попытался добавить программу, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runно она тоже не сработала.

Как же я могу запустить программу с правами администратора при входе пользователя?

Фредерик Чжан
источник
запустить скрипт, который используетrunas
Ramhound
@Ramhound Вы имели в виду написать пакет с содержимым runas /env /user:domain\Administrator X:\path\to\the\program.exeи поместить его в каталог автозапуска?
Фредерик Чжан
Вы можете использовать практически все, что хотите, для запуска этой команды. Это не должен быть пакетный скрипт.
Ramhound
1
@Ramhound Но эта команда запросит пароль, который я не хочу.
Фредерик Чжан
Вы можете использовать runasи сохранять учетные данные Администратора, хотя это представляет угрозу безопасности по очевидным причинам. Вы на 100% нуждаетесь в этой программе для разрешения администратора?
Ramhound

Ответы:

14

Лучший способ (и единственный простой способ, если вы хотите, чтобы это выполнялось не только как администратор, но и без приглашения UAC), это создать запланированное задание. Там вы можете указать, под каким пользователем вы хотите его запускать, а также, что он должен «работать с наивысшими привилегиями». Вероятно, это именно то, что вам действительно нужно, потому что кнопка-флажок «Запуск от имени администратора» вызывает приглашение UAC, а не использует администратора. Если вы также укажете триггер как «при входе в систему», он должен иметь тот же эффект, что и использование ключа запуска или запуска.

В качестве альтернативы вы можете использовать runas с параметром / savecred, чтобы один раз сохранить пароль другого пользователя и сохранить его в кэше навсегда, но это не работает в обход UAC.

Syberdoor
источник
1
Сначала я тоже попробовал планировщик задач, но из-за этого пропал значок программы на панели задач. Но я только что проверил конфигурации задачи и нашел комбинированное окно с именем по Configure forумолчанию Vista / 2008. Затем я перешел на Windows 8.1, и теперь все в порядке. Спасибо.
Фредерик Чжан
0
  1. Создайте файл наподобие appStart.cmd, содержащий:

    start "" %1

  2. Второй в реестре вы должны добавить в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Пара ключ-значение

Ключ: «имя_приложение»

Значение: "путь к appStart.cmd" "путь к myapp.exe"

Таким образом, при запуске Windows он вызовет ваше приложение из командной строки и запросит разрешение на запуск от имени администратора. После принятия командной строки закройте и ваше приложение запустится с правами администратора.

Даниил Филипов
источник