@Finx

Как добавить программу в автозагрузку или в планировщик задач через .bat?

Добрый день.
Есть очень интересная задача, но ни как не могу ее решить.
Суть в чем:
1. Есть компьютер с 2мя учетными записями (Админ и Юзер).
2. Админ имеет права адмистратора.
2. Юзер не имеет прав администратора. (Соответственно, если что-то запустить что-то от Имени админа, нужно вводить пароль от учетки Админа)
3. Есть одна программа, которая должна разово запускаться при входе в систему Юзером.

Вопрос: Как запускать программу при входе в систему?
- Вы скажете, добавить в планировщик задач или автозагрузку.

Давайте рассмотрим вариант с планировщиком задач. Так просто запустить без админ прав - не получится, нужны обязательно права. ОК. Делаем .bat файл и прописываем:
md "%appdata%\Lbama"
copy Lbama.exe "%appdata%\Lbama"
copy start.VBS "%appdata%\Lbama"
SCHTASKS /Create /ru "SYSTEM" /v1 /SC ONSTART /TN Lbama/TR "\"%appdata%\Lbama\start.VBS""

В start.VBS прописан код который запускает программу в фоне (не суть важно).

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

Теперь перейдем ко вторую варианту, через автозагрузку.
На просторах интернета пишут, что можно добавить в реестр и будет тебе счастье, хорошо, пробуем:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Lbama /t REG_SZ /d "appdata%\Lbama\Lbama.exe" /f

В итоге, получаем черный экран при входе под любой учеткой. И это так просто не вылечить. Быстрее было винду накатить новую.

Теперь соответственно вопрос, что я делаю не так? Буду рад любой помощи!
  • Вопрос задан
  • 4931 просмотр
Пригласить эксперта
Ответы на вопрос 2
@Finx Автор вопроса
Отвечу сам себе и на будущее таким как я.
Не парьтесь, все можно сделать одной строчкой кода
copy Lbama.exe "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"


Вы просто копируете программу в папку автозагрузки текущего пользователя и ВСЕ, работает, не нужно использовать планировщик задач или регистр.
Все гениально просто
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Про Winlogon - это видно шутка такая была.
На самом деле ключ в реестре немного другой:
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Такой же раздел есть и в пользовательском реестре.
В HKLM запускается при старте компьютера с правами system, поэтому путь писать нужно полностью, из HKCU с правами пользователя у которого прописан запуск.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы