1

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

Это в основном клиент rabbitmq, который постоянно опрашивает очередь сообщений или что-то еще.

Причина, по которой я хочу это сделать, заключается в том, что сервер клиента перезагружается, а пользовательский интерфейс Windows находится в состоянии, в котором пользователь не вошел в систему или не получил приглашение. Я хочу, чтобы программа по-прежнему работала нормально. Это ограничение у меня на данный момент. Если есть более простое решение, которое полностью исключает эту проблему, пожалуйста, дайте мне знать.

Я пытался редактировать сценарии запуска. Это сработало; он бежал, но висел. Я предположил, что это потому, что программа никогда не завершается, по крайней мере, нормально.

На самом деле, просто для того, чтобы охватить мои базы, причина, по которой я хочу, чтобы эта программа запускалась до того, как кто-либо войдет в систему (ожидается, что в систему войдет только один пользователь, администратор), заключается в том, что программа может получить доступ к сети и файловой системе в случае, если система когда-либо неожиданно перезагрузится, или когда-либо зависнет в приглашении для входа в систему, или в каком-либо другом приглашении, таком как «почему вы перезагрузились?'

Смогу ли я даже получить доступ к Интернету и файловой системе, если я выполню на этом этапе?

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

Предположим, я могу получить доступ к вводу / выводу, как вы это делаете?

Я также пытался использовать планировщик задач, однако, когда я делаю это, программа никогда не загружается. Я получаю сообщение «Не удалось запустить».

Я хотел бы принять состояние, в котором администратор вошел в систему и все работает, но все это интерфейс Uoohhh мешает.

Спасибо датчанин

2 ответа2

0

Я не понимаю настоящую цель. Я бы не стал вмешиваться в процесс загрузки.

Есть несколько вещей, чтобы попробовать gpedit.msc. У меня винда на португальском, поэтому работы могут отличаться.

Одним из них является "Всегда ждать сети при запуске компьютера и входе в систему". Это в разделе «Конфигурация компьютера / Административные шаблоны / Система / Вход в систему», если я не ошибаюсь.

Также в разделе «Конфигурация компьютера \ Административные шаблоны \ Система \ Сценарии» - источник:

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

Максимальное время ожидания для сценариев групповой политики
Используйте эту опцию, чтобы установить интервал ожидания сценария. Интервал по умолчанию составляет 600 секунд (10 минут), а допустимые интервалы находятся в диапазоне от 0 до 32000 секунд. Это влияет как на компьютерные, так и на пользовательские сценарии, которые выполняются синхронно.

Усиление: я бы не стал возиться с этим. Но это зависит от вас.

0

Как упоминает Луиз, вы можете использовать редактор групповой политики Windows для запуска сценария запуска перед входом в систему. Для этого метода приведено руководство с пошаговыми инструкциями по настройке базового сценария запуска.

У Microsoft есть КБ, в которой обсуждается, как запустить программу перед входом в оболочку - для этого решения требуется некоторое редактирование реестра.

Также возможно запустить программу как сервис, используя sc.exe . Вот пост с примером:

Недавно я столкнулся с проблемой, когда мне нужно было запустить программу, прежде чем я войду в систему. Одним из решений было создание стартового сценария с использованием gpedit.msc, но для этого потребовалось отключить опцию, которая значительно ускоряет вход в Windows. Поэтому я пришел к другому решению: запускать программу как сервис!

Это на удивление легко: Microsoft добавила программу sc.exe, которая делает эту работу за вас. Вот пример:

sc.exe create "TrueCrypt Automount" start= "auto" binPath="C:\automount.bat" DisplayName= "TrueCrypt Automount"

Если вы хотите запустить программу даже раньше, взгляните на этот вопрос SU.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .