1

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ:

Я хочу, чтобы скрипт запускался, как только я нажимаю кнопку питания, БЕЗ ЛЮБОГО ВХОДА. Поэтому я не могу просто использовать папку автозагрузки или планировщик задач, поскольку обе эти программы вызывают только программы, когда пользователь входит в систему.

Зачем мне это нужно:

Я пытаюсь настроить безголовый майнер Ethereum на моем старом ПК с Windows 10. Иногда я испытываю короткие вспышки питания дома, достаточно длинные, чтобы вывести майнера из строя. Я хотел бы иметь возможность перезапустить процесс майнинга, просто нажав кнопку питания, вместо того, чтобы пройти через все хлопоты, связанные с RDP.

Мой сценарий:

@echo off
echo Starting Etherminer >> log.txt
goto START

:START
setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

etherminer.exe --farm-recheck 200 -G -S us1.ethermine.org:4444 -FS us2.ethermine.org:4444 -O <My_Wallet_Hash>.<My_System_Name> >> log.txt 2>>&1

echo Error: Etherminer Application Exited >> log.txt
echo Attempting to Restart >> log.txt

goto START

Сценарий работает нормально сам по себе, но теперь мне нужна помощь, чтобы запустить его при включении системы.


Спасибо за ваше время и за любую помощь, которую вы можете оказать.

2 ответа2

3

Вы можете просто использовать Windows "Task Scheduler" для запуска сценария при включении питания (при условии, что у вас есть права администратора). Для создания нового задания сделайте следующее:

  1. Нажмите WINDOWS+R на клавиатуре
  2. Введите "taskschd.msc" и нажмите клавишу ВВОД.
  3. Нажмите «Создать базовую задачу ...», которая находится в разделе "Действия"
  4. Теперь мастер поможет вам создать вашу задачу

Чтобы запустить задачу при запуске системы, вам также нужно сделать следующее (после того, как вы выполнили шаги, описанные выше, и выбрали "При запуске" в качестве триггера):

  1. Дважды щелкните на задании, которое вы создали ранее
  2. Нажмите «Изменить пользователя или группу ...»
  3. Войдите в "LocalService" и нажмите ENTER
  4. Перейдите на вкладку "Условия" и снимите все, если вы не хотите условие
  5. Нажмите "ОК", чтобы сохранить изменения

После тестирования вашей новой задачи вы можете задаться вопросом, почему ваша задача не запускается в Windows 8 или Windows 10 с помощью "Завершение работы", а затем снова включите компьютер.Это вызвано функцией, называемой "быстрый запуск", которая по умолчанию включена в каждой системе Windows 8 или 10, она обеспечивает более быстрый запуск, переводя компьютер в спящий режим основной системы, которая копирует только данные оперативной памяти ядра и других компонентов, относящихся к системе, в файл на жестком диске при завершении работы и копирует эти данные обратно при запуске.Таким образом, ваша задача обычно никогда не запускается, потому что система никогда не завершает работу полностью и никогда не запускает ее полностью, за исключением обновления системы или использования функции Windows "Перезагрузка".

Чтобы отключить "быстрый запуск", перейдите в «Панель управления> Оборудование и звук> Параметры питания> Параметры системы» и снимите флажок "Включить быстрый запуск".

Чтобы запустить скрипт при запуске без отключения "быстрого запуска", взгляните на RunAsService, который помогает вам зарегистрировать скрипт как сервис. Пример для BAT-скрипта:

RunAsService.exe install "yourservicename" "C:\Windows\System32\cmd.exe" "/C C:\Program Files\myscripts\dosomething.bat"

СОВЕТ: Если RunAsService.exe возвращает "Реферал был возвращен с сервера", откройте его свойства, перейдите на вкладку "Совместимость", нажмите "Изменить настройки для всех пользователей", установите флажок "Запускать программу от имени администратора" и нажмите дважды на "ОК".

Другой способ запуска скрипта / программы при каждом запуске без отключения "быстрого запуска" - это использование «taskschd.msc» для задания задачи, триггер которой является системным событием, генерируемым при каждом запуске, даже если "быстрый запуск" включен.

2

Может быть, ваш компьютер автоматически войти в систему? Запустите> «control userpasswords2» и снимите флажок, чтобы ввести пароль.

Или, возможно, вы можете сослаться на скрипт в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

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