Запуск bat-файла при запуске с правами администратора в Windows 7

В настоящее время я успешно запускаю сценарий запуска в виде файла bat в Windows 7 (я вставил новую запись в ключ реестра с путем к файлу bat в качестве значения в

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run),

Теперь мне нужно запустить еще один bat-файл при запуске, но с повышенными правами (как администратор) и без подтверждения запроса вручную.

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

8 ответов

См. Эту статью: Заставьте Vista запускать программы с ограниченным доступом UAC при запуске с помощью Task Scheduler.

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

Сделайте два пакетных файла:

StartAs.bat содержит что-то вроде:

runas /user:SomeLocalAdminAccount c:\Users\MyUser\StartupWhat.bat

StartWhat.bat содержит команды, которые вы хотите запустить.

hstart.exe - сторонняя замена start.exe на http://www.ntwind.com/software/hstart.html

Этот вызов немного болезненный, но он работает очень хорошо.

Вы думали о другом подходе? Либо чистая групповая политика для параметра эквивалентного реестра, либо настройка командного файла для запуска в качестве групповой политики. Возможно, вы даже можете запустить его как компьютерный скрипт, а не как пользовательский скрипт.

Начните с gpedit.msc. Тем не менее, он нуждается в Ultimate или одном из других топовых выпусков.

Утилита AutoExnt, из Resource Kit.

Служба AutoExNT позволяет администратору настроить компьютер под управлением Windows для запуска настраиваемого пакетного файла при первом запуске компьютера. Кроме того, пользователь или администратор не обязаны входить в систему во время выполнения этого пользовательского пакетного файла.

Может быть, UACPass (бесплатно) решит это:

  • Установите программу.
  • Откройте окно UACPass.
  • Перетащите на него программу, которую вы притворяетесь запустить при загрузке.

Готово. Эта программа должна теперь работать как администратор без запроса UAC.
В программе даже есть опция для add to startup:-D .

Ваша программа будет работать только после входа в систему (или я так думаю).

runas /user:SomeLocalAdminAccount

Здесь должно быть так:

runas /noprofile /user:mymachine\administrator cmd

runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc

runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

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

(Это в некоторых дополнительных опциях.)

Другие вопросы по тегам