Hkey local machine software microsoft windows currentversion runonce

Реестр Windows — это база данных, в которой хранятся настройки и конфигурация операционной системы. Он включает множество ключей и параметров, которые определяют различные функции системы. Один из таких ключей — HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce.

RunOnce — это раздел реестра, который позволяет запускать определенные программы или команды один раз при каждой загрузке операционной системы. Когда Windows загружается, она сканирует ключ RunOnce и запускает все программы и команды, указанные в нем. После выполнения ключ и его значения автоматически удаляются из реестра.

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

Чтобы использовать ключ HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce, вам необходимо знать путь к программе или команде, которую вы хотите запустить, и добавить ее в значение ключа. Это можно сделать с помощью редактора реестра Windows или с использованием специальных программ для управления реестром.

Содержание

  1. HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce
  2. Определение параметра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
  3. Применение параметра в операционной системе Windows
  4. Процесс настройки и использования параметра
  5. Возможные ошибки при использовании параметра
  6. Рекомендации по использованию параметра

Когда компьютер загружается, операционная система автоматически проверяет параметр «HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce» и выполняет все программы, указанные в нем. Это позволяет программам автоматически установиться или выполнить другие действия при следующем запуске системы.

Чтобы использовать параметр «HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce», необходимо правильно настроить его значение в реестре. Пользователь может добавить новые записи или изменить существующие, указав путь к исполняемому файлу программы или команде, которую нужно выполнить.

Значение параметра «HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce» может содержать следующую информацию:

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

Каждая запись в параметре «HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce» будет выполнена в порядке, указанном в реестре.

Важно отметить, что значения в параметре «HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce» могут быть используемыми программами или малварью. Поэтому необходимо быть осторожным при изменении или добавлении записей в этом параметре, чтобы избежать ошибок или потенциальных угроз безопасности.

Определение параметра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

Когда операционная система загружается, она автоматически выполняет программы и скрипты, указанные в параметре RunOnce. Это дает возможность программам или службам настроить себя перед полноценным запуском системы.

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

Значения в ключе RunOnce имеют вид строковых значений, где имя значения — это произвольное имя, а данные значения — это путь к исполняемому файлу программы или скрипту для выполнения.

Для добавления значений в параметр RunOnce можно использовать специальные инструменты реестра, такие как Редактор реестра (regedit.exe) или команду reg.exe.

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

Применение параметра в операционной системе Windows

Когда операционная система Windows запускается, она обрабатывает все значения, находящиеся в параметре RunOnce. После того, как программа или скрипт были запущены, они удаляются из параметра RunOnce, чтобы быть уверенным, что они не будут запущены повторно при следующей загрузке системы.

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

Для добавления значения в параметр RunOnce можно воспользоваться редактором реестра. Просто откройте редактор реестра, перейдите к разделу HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion, найдите ключ RunOnce и добавьте новое значение. Значение может быть исполняемым файлом, скриптом или командой, которую нужно выполнить при загрузке системы.

Важно помнить, что значение, добавленное в параметр RunOnce, будет запущено при следующей загрузке системы и удалено из параметра. Если необходимо запустить программу или скрипт при каждой загрузке системы, необходимо использовать другие параметры или автозапуск в папке «Автозагрузка».

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

Процесс настройки и использования параметра

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

Для настройки параметра RunOnce необходимо выполнить следующие шаги:

  1. Откройте редактор реестра, нажав комбинацию клавиш Win + R и введя команду «regedit».
  2. Перейдите к следующему пути в редакторе реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce.
  3. Щелкните правой кнопкой мыши по пустому месту в правой части редактора реестра и выберите «Новый» -> «Строковое значение».
  4. Введите имя нового параметра и задайте ему значение, указывающее на исполняемый файл программы, которую вы хотите запустить при следующей загрузке.

Например, если вы хотите запустить программу «example.exe» и она находится в директории «C:\Program Files\Example», то значение параметра должно быть следующим: «C:\Program Files\Example\example.exe». Учтите, что вы должны указать полный путь к исполняемому файлу.

После настройки параметра RunOnce указанный файл будет автоматически запущен при следующей загрузке системы. После выполнения запускаемой программы параметр RunOnce будет удален из реестра автоматически.

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

Возможные ошибки при использовании параметра

При использовании параметра HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce могут возникать некоторые ошибки, которые следует учитывать:

1. Неправильное указание пути или имени файла. Если указанный путь или имя файла некорректны, то система не сможет найти и запустить указанный файл. Рекомендуется проверить путь и имя файла на наличие опечаток.

2. Ошибка в ключе реестра. Если запускаемый файл использует ключ реестра, то любая ошибка в его структуре или значении может привести к ошибке. Рекомендуется внимательно проверить указанный ключ реестра на наличие ошибок.

3. Недостаточные права доступа. Если текущий пользователь не обладает достаточными правами доступа для запуска указанного файла или изменения ключа реестра, то возможен отказ в доступе. Рекомендуется проверить права доступа текущего пользователя и, при необходимости, изменить их.

4. Конфликт с другими программами или параметрами. Если другие программы или параметры также используют параметр HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce, то возможны конфликты при запуске файлов или изменении значений ключа реестра. Рекомендуется учитывать эти потенциальные конфликты и, при необходимости, изменить параметры или программы, которые используются одновременно.

Рекомендации по использованию параметра

Для использования этого параметра важно знать некоторые особенности:

Рекомендация Описание
1 Используйте RunOnce только для разовых задач.
2 Убедитесь, что команды, указанные в RunOnce, действительно необходимы и безопасны.
3 Избегайте перегрузки параметра RunOnce.
4 Убедитесь, что все указанные команды и программы находятся в рабочем состоянии и не вызывают сбоев.
5 Проверьте, что команды запускаются в правильном порядке.
6 Будьте осторожны при редактировании параметра RunOnce, так как неправильные изменения могут привести к неполадкам в работе операционной системы.

Следуя этим рекомендациям, вы сможете эффективно использовать параметр HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce и управлять процессами загрузки операционной системы.

Уровень сложности
Средний

Время на прочтение
6 мин

Количество просмотров 3.7K

Основной задачей, которую необходимо решить вредоносному файлу сразу после запуска является закрепление в системе, то есть обеспечение возможно постоянной работы данного процесса в системе. То есть, злоумышленнику необходимо, чтобы процесс, с помощью которого он может получить доступ в систему (троян, бэкдор и т. д.) запускался бы автоматически при загрузке системы и работал во время всего сеанса работы системы. Существует несколько методов закрепиться в системе. В этой статье мы рассмотрим наиболее распространенные способы закрепления в ОС Windows, а также посмотрим, как некоторые из этих техник выглядят в отладчике. Будем считать, что для запуска нужного процесса злоумышленнику так или иначе необходимо запустить выполнимый файл.

Ветка Run

Начнем с наиболее известного места, где можно прописать автоматический запуск приложения при старте системы — реестра Windows. И прежде всего приложения, желающие стартовать вместе с ОС прописывают себя в ветки

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

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

Однако, важно понимать, что манипуляции с данными ветками реестра также отслеживают и средства защиты. Так антивирус будет очень внимательно следить за тем, какие приложения собираются прописать свои файлы в эти ветки реестра. И попытка неизвестного ранее приложения прописаться в ветку Run может привести к срабатыванию антивируса.

Также, если вам необходимо один раз выполнить какой-либо файл. Например, вам необходимо прописать в системе сервис, то можно воспользоваться ключом RunOnce.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

Если мы хотим выполнить файл один раз для конкретного пользователя, то необходимо прописать файл в ветке:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

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

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shared Tools\Msinfo

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shared Tools\Msinfo

Посмотрим, как код, правящий реестр выглядит в отладчике.

Конечно, любой здравомыслящий вредонос постарается максимально скрыть от отладки как разделы памяти в которых указаны ветки реестра и записываемые значения, так и сами вызовы функций для работы с реестром. Но в представленном на скриншоте примере мы видим обращения к реестру: RegOpenKeyEx, RegCreateKey, RegCloseKey. По вызовам этих функций можно понять, что приложение в принципе работает с реестром. В случае, если вносятся правки в представленные выше ветки, то вероятнее всего мы имеем дело с вредоносом.

Сервисы в реестре

Еще одним способом поселиться в автозагрузку является использование системных служб – сервисов. Сервис (служба) – это приложение, автоматически исполняемое системой при запуске операционной системы Windows и выполняющиеся вне зависимости от статуса пользователя.

 Существует несколько режимов для служб:

  • запрещён к запуску;

  • ручной запуск (по запросу);

  • автоматический запуск при загрузке компьютера;

  • автоматический (отложенный) запуск;

  • обязательная служба/драйвер (автоматический запуск и невозможность (для пользователя) остановить службу).

Соответственно, для того, чтобы осуществить автоматический запуск какого-либо выполнимого файла, нам необходимо прописать его как сервис. И здесь кроются некоторые сложности. Дело в том, что сервис – это, не совсем обычный выполнимый файл. Для его запуска недостаточно просто создать exe файл и запустить его. Вместо этого нам необходимо зарегистрировать сервис в системе и только потом его можно запускать.

На скриншоте ниже представлен фрагмент кода, в котором формируется набор значений в стеке (в том числе имя выполняемого файла и самого сервиса) и затем все это передается функции CreateService для создания сервиса.

После того, как сервис зарегистрирован в системе его можно запустить с помощью вызова функции OpenService.

Помимо использования функций ОС предназначенных непосредственно для работы с сервисами, для регистрации и запуска сервиса можно воспользоваться командой sc. В примере ниже мы создаем процесс, который запускает команду sc start NewServ. CreateProcess не единственная функция для запуска процессов. В одной из предыдущих статей по реверсингу мы использовали функцию WinExec для запуска калькулятора при реализации переполнения буфера.

В общем, не стоит забывать про такой простой способ работы с сервисами, как консольные команды.

И еще с сервисами можно работать через реестр. Для этого предназначена ветка

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\

В ней находятся разделы, описывающие работу каждого из сервисов, зарегистрированных в операционной системе.

На скриншоте показаны параметры сервиса DHCP. Как видно, в этой ветке имеются параметры, отвечающие за параметры запуска сервиса, аккаунт, от которого он запускается и собственно сам путь к выполнимому файлу. Таким образом, работу с сервисами можно организовать с помощью манипуляций с реестром.

Скрытый отладчик

Представленные выше способы регистрации в автозагрузке в большей или меньшей степени видны пользователю системы. Так запущенные сервисы можно легко увидеть в соответствующей оснастке, а ветки Run хорошо всем известны, и можно без труда проверить их содержимое.

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

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

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Image File Execution Options\

Мы создаем раздел с именем запускаемого приложения, а в этом разделе создаем параметр Debug в котором уже указываем выполнимый файл, запускаемый в реальности.

То есть, в примере на скриншоте при попытке запуска калькулятора у нас запустится некий prog.exe. Таким образом можно под видом одного приложения запустить другое. Можно к примеру подменить экранную клавиатуру (osk.exe) на командную строку (cmd.exe). В результате можно будет на заблокированном компьютере вызывать клавиатуру и получать командную строку, причем с правами System!

Небезопасные обновления

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\

Указаны GUID установленных компонентов и для многих из них можно найти параметры StubPath и Version. Далее процитируем официальную документацию Майкрософт:

При входе пользователя система сравнивает содержимое разделов HKLM\Software\Microsoft\Active Setup\Installed Components и HKCU\Software\Microsoft\Active Setup\Installed Components. Для каждого раздела в HKLM должна быть копия с тем же GUID в HKCU. Дальше есть три варианта развития событий:

1.  Если копии нет, то выполняется команда, указанная в StubPath, после чего в HKCU создается раздел с тем же GUID и прочими параметрами.

2. Если копия есть, то сравнивается значение параметра Version. Если версия в HKCU младше, чем в HKLM, то задание отрабатывает повторно, после чего номер версии в HKCU обновляется.

3. Если же раздел с одинаковым GUID есть и в HKLM и в HKCU и номер версии у них совпадает, то значит компонент уже отработал для данного пользователя и запускать его не требуется.

Таким образом мы можем поиграться со значением StubPath и версиями для того, чтобы в итоге выполнить то, что нам нужно. По сути, здесь тоже можно реализовать автозагрузку.

Переселяем папки

Также с помощью реестра можно “перепрятать” разделы из меню Пуск. В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

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

Планировщик задач

Помимо реестра мы можем попробовать прописать свое приложение в XML файлы с описанием задач. В каталоге %WINDIR%\System32\Tasks находятся XML файлы в которых прописано выполнение тех или иных действий и расписание, по которому эти действия выполняются.

Помимо прочего, в них можно найти и те команды, которые должны выполняться в рамках этой задачи.

Таким образом мы получаем еще один вектор для закрепления в системе.

Заключение

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

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

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

Безмалый В.Ф.
MVP Consumer Security

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

  • Как осуществляется автозагрузка?
  • Где найти список программ, загружаемых автоматически?
  • Как отключить соответствующий список автозагрузки?

Именно этому и будет посвящена эта статья.

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

Способы автозагрузки

Реестр

В реестре Windows 7 автозагрузка представлена в нескольких ветвях:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] ‐ программы, запускаемые при входе в систему.

Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе (рис.1).

Автозапуск для всех пользователей
Рисунок 1 Автозапуск для всех пользователей

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] ‐ программы, запускаемые только один раз при входе пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] ‐ программы, которые запускаются при входе текущего пользователя в систему

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] ‐ программы, которые запускаются только один раз при входе текущего пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.

Например, чтобы автоматически запускать Блокнот при входе текущего пользователя, открываем Редактор реестра (regedit.exe), переходим в раздел

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] и добавляем следующий ключ:
«NOTEPAD.EXE»=»C:\WINDOWS\System32\notepad.exe»

Использование групповой политики для автозапуска

Откройте оснастку «Групповая политика» (gpedit.msc), перейдите на вкладку «Конфигурация компьютера ‐ Административные шаблоны ‐ Система». В правой части оснастки перейдите на пункт «Вход в систему». (рис.2).

Использование групповой политики для автозапуска
Рисунок 2 Использование групповой политики для автозапуска (для всех пользователей)

По умолчанию эта политика не задана, но вы можете добавить туда программу: включаем политику, нажимаем кнопку «Показать ‐ Добавить», указываем путь к программе, при этом если запускаемая программа находится в папке ..WINDOWS\System32\ то можно указать только название программы, иначе придется указать полный путь к программе.

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

Внимание! Данный пункт политики доступен в Конфигурации компьютера и Конфигурации пользователя. Если заданы оба пункта политики, то вначале будет запущена программа из Конфигурации компьютера, а затем уже пользователя.

При этом в системном реестре в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies] создается подраздел \Explorer\Run с ключами добавленных программ.

Пример:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]
«1»=»notepad.exe»

В итоге получаем запуск Блокнота (рис 3).

Запуск Блокнота с помощью локальной групповой политики
Рисунок 3 Запуск Блокнота с помощью локальной групповой политики

Аналогично задается автозапуск для текущих пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя ‐ Административные шаблоны ‐ Система» (рис 2), а в реестре раздел [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]

Внимание! При этом программы из этого списка не отображаются в списке программ доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.

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

Настраивается с помощью групповой политики: «Конфигурация компьютера ‐ Административные шаблоны ‐ Система — Вход в систему ‐ Не обрабатывать список однократного запуска программ»

Если эту политику включить, то не будут запускаться программы, запускаемые из списка
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] Если эта политика
включена, в реестре создается следующий ключ:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
«DisableLocalMachineRunOnce»=dword:00000001

Так же настраивается политика для текущих пользователей: «Конфигурация пользователя ‐ Административные шаблоны ‐ Система — Вход в систему ‐ Не обрабатывать список однократного запуска программ» Параметры реестра:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
«DisableLocalUserRunOnce»=dword:00000001

Назначенные задания

Программы могут запускаться с помощью «Планировщика заданий». Посмотреть список установленных заданий, а также добавить новое можно так: «Пуск ‐ Все программы ‐ Стандартные ‐ Служебные — Планировщик заданий» ‐ при этом откроется окно Планировщика заданий, в котором отображены назначенные задания (рис.4).

Окно Планировщика заданий
Рисунок 4 Окно Планировщика заданий

Чтобы добавить новое задание, нужно из меню «Действия» выбрать пункт «Создать простую задачу» (рис.5).

Создание простой задачи в Планировщике задач
Рисунок 5 Создание простой задачи в Планировщике задач

Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.

Папка «Автозагрузка»

Папка, в которой хранятся ярлыки для программ запускаемых после входа пользователя в систему. Ярлыки в эту папку могут добавляться программами при их установке или пользователем самостоятельно. Существует две папки ‐ общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:

.. \Users\All Users\Microsoft\Windows\Start Menu\Programs\Startup ‐ это папка, программы из которой будут запускаться для всех пользователей компьютера.

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup ‐ это папка, программы из которой будут запускаться для текущего пользователя.

Посмотреть какие программы у вас запускаются таким способом можно открыв меню «Пуск ‐ Все программы ‐ Автозагрузка». Если вы создадите в этой папке ярлык для какой-то программы, она будет запускаться автоматически после входа пользователя в систему.

Смена папки автозагрузки

Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Common Startup»=«%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup»‐ для всех пользователей системы.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Startup»=«%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup»
‐ для текущего пользователя. Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.

Пример:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Startup»=»c:\mystartup» ‐ система загрузит все программы, ярлыки которых находятся в папке c:\mystartup\, при этом папка «Автозагрузка» все так же будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.

Подмена ярлыка для программы из списка автозагрузки

Допустим у вас установлен пакет Acrobat. Тогда в папке «Автозагрузка» у вас будет находиться ярлык «Adobe Reader Speed Launch» ‐ этот ярлык устанавливается туда по умолчанию. Но вовсе необязательно этот ярлык ссылается именно на соответствующее приложение ‐ вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.

Добавление программы к программе запускаемой из списка автозагрузки

Модификация предыдущего варианта ‐ одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа ‐ дело в том, что можно «склеить» два исполняемых файла в один и они будут запускаться одновременно. Существуют программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.

Посмотреть список автоматически загружаемых программ можно открыв программу «Сведения о системе» (откройте «Пуск ‐ Все программы ‐ Стандартные ‐ Служебные ‐ Сведения о системе» или наберите msinfo32.exe в командной строке) и перейдя в пункт «Программная среда ‐ Автоматически загружаемые программы». Программа «Свойства системы» отображает группы автозагрузки из реестра и папок «Автозагрузка» (рис.6).

Автоматически загружаемые программы
Рисунок 6 Автоматически загружаемые программы

Другая программа, позволяющая посмотреть список программ автозагрузки ‐ «Настройка системы» (для запуска наберите msconfig.exe из командной строки). Эта программа кроме просмотра списка автозагрузки предоставляет возможность отключения всех пунктов автозагрузки (вкладка «Общие») или выборочных программ (вкладка «Автозагрузка»).

Заключение

Безусловно, сведения, приведенные в данной статье нельзя считать исчерпывающими, однако, надеюсь, они помогут вам в нелегком труде борьбы с вредоносным ПО.

Today was one of these days. Faced with a new problem I’ve never come across before. I was trying to configure a task to run once and only once on the server was provisioned for the first time. Something like a bootstrap script. In my quest to solve that problem, I came across a thing called Run and RunOnce registry keys!

What are Run(Once) registry keys?

Who knew that these things even existed, but here we are. So what do these keys really do? Let’s grab the definition from the official documentation on [MSDN](https://msdn.microsoft.com/en-us/library/aa376977(v=vs.85).aspx» target=»_blank)

Run and RunOnce registry keys cause programs to run each time that a user logs on. The data value for a key is a command line. Register programs to run by adding entries of the form description-string=commandline. You can write multiple entries under a key. If more than one program is registered under any particular key, the order in which those programs run is indeterminate.

The Windows registry contains these 4 keys:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Although they look very similar, there are subtle changes which we’ll need to highlight.

HKCU keys will run the task when a specific user, while HKLM keys will run the task at first machine boot, regardless of the user logging in.

The Run registry keys will run the task every time there’s a login. The RunOnce registry keys will run the taks once and then delete that key.

If you want to ensure that a RunOnce key is deleted only if its task is run successfully, you can prepend the key name value with an exclamation mark ‘!’.

In addition, if you want the RunOnce command to run even in Safe Mode, you can prepend the key name value with an asterisk ‘*’.

This is great at so many levels because you can execute some really powerful and complex tasks during the machine’s startup. In my case, I had to apply some DNS settings using PowerShell.

Configuration

You can configure the keys manually by firing up regedit.exe and navigating to the appropriate key.

Then you need to add a new string, give it a name and configure the appropriate task as it’s value.

However, if you aren’t not a GUI enthusiast and you prefer scripting it (I like PoSH for most things these days), you can run the following command to configure a new RunOnce task. Open a new PowerShell window and type the following:

Set-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce" -Name '!RegisterDNS' -Value "c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command 'Register-DnsClient'"

And that’s all there is to it. With a couple of lines of PowerShell or a few clicks in the GUI, we can quickly setup a task to run once or at every login for a specific user or every user. A handy little utility and, as we all know, it’s the small things/wins that count, right?

Что находится внутри папки автозагрузки? Ярлыки, драйверы, программы… Да всё что угодно. И всё это дело загружается одновременно со входом пользователя в систему. Как управлять содержимым автозагрузки и контролировать его? В принципе, если вы знаете, где папка автозагрузки располагается, работать с содержащимися там пунктами можно смелее. Так давайте проясним этот вопрос поотчётливее.

В этой статье я покажу как правильно управлять содержимым автозагрузки Windows 10 (на моём примере), добавляя и убирая оттуда программы, ярлыки и другие файлы. Не просто отключать или включать программы, а вычищать или добавлять в список нужное. Тем более, что в версиях Windows 8/10, которые сориентированы на более безопасную работу, папка автозагрузки теперь не на виду, как в предыдущих версиях вплоть до Windows 7.

СРАЗУ

Если кто-то подзабыл, то я напомню, что кроме привычных и описываемых здесь вариантов добавления/исключения программ/файлов из автозапуска Windows, в системе есть ещё некоторые возможности как заставить запускать некоторые задачи. Речь идёт о Планировщике задач, так что если какое-то событие вас беспокоит и после того, как вы наведёте порядок в Автозагрузке, обратите внимание и на него. Вот как с помощью Планировщика я обхожу UAC в Windows для нужной мне программы.

  • Диспетчер задач Windows 10
  • Папка автозапуска
  • Автозапуск в реестре
  • с CCleaner всё просто
  • Autoruns от Sysinternals — всё, что вам нужно
  • Для некоторых владельцев Windows 10…
  • Добавляем программу в автозапуск: нюансы

Как управлять содержимым автозагрузки из Диспетчера задач

Диспетчер задач включает в список/выключает из списка пункты автозапуска благодаря двум параметрам в реестре. Для текущего пользователя это:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Для всех пользователей (всех учётных записей):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Редактирование содержимого отсюда — самый традиционный способ разобраться с тем, что запускается вместе с системой. Жмём Ctrl + Shift + Esc и смотрим:

автозагрузка в Windows 10

Здесь всё просто — кнопка внизу справа поможет выключить/включить уже имеющиеся пункты в автозагрузке. Раньше за это отвечала утилита конфигурации msconfig, начиная с последних версий возможность редактировать автозагрузку перекочевала в Диспетчер задач.

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

Как вы уже наверняка знаете, она располагается здесь:

C:\Пользователи\Имя-пользователя\AppData\Roaming\Microsoft\Windows\Главное меню\Программы\Автозагрузка

папка скрыта от посторонних глаз. Это уже другая папка, и к предыдущему абзацу она не имеет никакого отношения. Представляет из себя физический путь, который можно использовать для ручного добавления нужных пользователю программ, ярлыков или отдельных файлов типа батника. Так что не удивляйтесь, что эта папка пуста — так и должно быть, ибо она заполняется ТОЛЬКО с ведома пользователя (вручную или с его согласия в виде галочки у пункта Автоматически запускать с Windows при установке новой программы). Чтобы сюда попасть, можно и не проходить по столь витиеватому пути: достаточно вызвать строку Выполнить (WIN+R) и ввести команду

shell:startup

папка автозагрузки windows 10

Здесь, как понимаете, сидят программы, которые будут запускать у конкретного пользователя. Если нужен запуск из-под всех учётных записей, для этого есть папка другая (можете скопировать путь и вставить в своём File Explorer-е):

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

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

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

Для правки автозапуска с помощью реестра нам придётся посетить последовательно несколько ключей. И потому я вновь отсылаю читателей блога к крохотной утилите, которая поможет добираться до нужного параметра лишь скопировав путь и вставив в консоль: так, согласитесь, удобнее.

Как моментально добраться до нужного параметра в реестре

 И опять же, для разных пользователей ключи также разные. Так, для очистки автозагрузки у конкретного пользователя нам стоит посетить следующие разделы реестра:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder

Для всех пользователей сразу пути уже другие:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder

а если что-то добавлено из Групповой политики

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

а если что-то добавлено из Групповой политики

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

В 64-х битной Windows 10 есть ещё пару пунктов:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce

В правой части Run, Run32, RunOnce и StartupFolder убираем пункты, которые не нужны из контекстного меню или выделяя и удаляя клавишей Delete:

автозагрузка в реестре

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

Программа очень качественная, умеет многое. В том числе поможет и чисткой автозагрузки. Эти настройки легко обнаруживаются:
очистка автозагрузки через ccleaner
Очищайте список по усмотрению.

Работа с автозагрузкой в программе Autoruns от Sysinternals

Самая профессиональная и толковая из тех утилит, которые мне когда либо попадались. Название программы говорит само за себя. Думаю, утилита достойна того, чтобы описание с ней работы выделить в отдельную статью. Установки не требует, тело программы — простой исполнительный файл. Отображает не только конкретные программы, а все файлы драйверов и динамических библиотек, запускающихся с Windows, а также соответствующих значений реестра. Естественно, доступны и функции отключения файлов или удаления:

управлять содержимым автозагрузки из autoruns

Скачать бесплатно Autoruns 

Не забудьте запустить утилиту с правами админа.

Как управлять содержимым автозагрузки в Windows 10

Начиная со сборки 17017 Windows 1o, пользователь может обнаружить настройки автозагрузки в самой системе. Если вы знаете номер сборки Windows, и он совпадает с указанной, можете поискать здесь (мне не повезло):

автозагрузка в Windows 10

Застрявшие в автозагрузке программы редактируются привычными для Windows 10 ползунками активации.

Как добавить программу в автозагрузку

контроль учётных записей пользователей windows

После всего прочитанного добавить нужную программу в автозагрузку не представит особого труда. Однако Windows не позволяет некоторым программам запускаться вместе с загрузкой из-за повышенных мер безопасности. Так что, если вы создали ярлык к приложению и поместили его в нужную папку автозагрузки, вполне вероятно, несмотря на проделанные манипуляции, в Диспетчере задач искомого процесса вы не увидите. Но и для обхода UAC Windows существует целый набор средств, и об одном из них вы можете прочитать в статье Как запустить программу без UAC.

Успехов.

  • Hkey local machine software microsoft windows currentversion run
  • Hkey current user software microsoft windows currentversion internet settings zones
  • Hkey local machine software microsoft windows currentversion policies system
  • Hkey current user software microsoft windows currentversion explorer user shell folders
  • Hitman blood money вылетает при запуске на windows 10