Обшие сведения о реестре Windows
Сохранение и восстановление реестра
Мониторинг реестра
Уход за реестром
Автозапуск программ
Драйверы и службы
Драйверы и службы для безопасного режима
Ограничиваем доступ пользователя к ресурсам
Как бороться с ограничениями доступа
Ненужные программы
Пример reg-файла
Полезные советы

Работа с реестром

Общие сведения о реестре Windows

Реестр (системный реестр) - это иерархическая база данных, содержащая записи, определяющие параметры и настройки операционных систем Microsoft Windows. Реестр в том виде, как он выглядит при просмотре редактором реестра, формируется из данных, источниками которых являются файлы реестра и информация об оборудовании, собранная в процессе загрузки. В описании файлов реестра на английском языке используется термин "Hive". В некоторых работах его переводят на русский как "Улей". Microsoft в своих документах переводит это как "Куст".

Файлы реестра создаются в процессе установки операционной системы и хранятся в папке %SystemRoot%\system32\config (обычно c:\windows\system32\config). Для операционных систем Windows 2000/XP это файлы с именами default, sam, security, software, system. Редактор реестра

В процессе загрузки система получает монопольный доступ к данным файлам и, поэтому, стандартными средствами работы с файлами вы ничего с ними сделать не сможете (открыть для просмотра, скопировать, удалить, переименовать). Для работы с содержимым системного реестра используется специальное программное обеспечение - редакторы реестра (REGEDIT.EXE, REGEDT32.EXE), являющиеся стандартными компонентами операционной системы. Для запуска реестра используется "Пуск"/"Выполнить" - regedit.exe.

В левой половине окна вы видите список корневых разделов (root keys) реестра. Каждый корневой раздел может включать в себя вложенные разделы (subkeys) и параметры (value entries).

Коротко о назначении корневых разделов:

  • HKEY_CLASSES_ROOT (сокращенное обозначение HKCR) - Ассоциации между приложениями и расширениями файлов и информацию о зарегистрированнных объектах COM и ActiveX.
  • HKEY_CURRENT_USER (HKCU) - Настройки для текущего пользователя (рабочий стол, настройки сети, приложения). Этот раздел представляет собой ссылку на раздел HKEY_USERS. Идентификатор пользователя (SID) в виде S-1-5-21-854245398-1035525444-... SID - уникальный номер, идентифицирующий учетную запись пользователя, группы или компьютера. Он присваивается учетной записи при ее создании. Внутренние процессы Windows обращаются к учетным записям по их кодам безопасности, а не по именам пользователей или групп. Если удалить, а затем снова создать учетную запись с тем же именем пользователя, то предоставленные прежней учетной записи права и разрешения не сохранятся для новой учетной записи, так как их коды безопасности будут разными. Аббревиатура SID образована от Security ID. Для просмотра соответствия SID и имени пользователя можно воспользоваться утилитой PsGetSID.exe из пакета PSTools.
  • HKEY_LOCAL_MACHINE (HKLM) - Глобальные аппаратные и программные настройки системы. Применимы ко всем пользователям. Это самая большая и самая важная часть реестра. Здесь сосредоточены основные параметры системы, оборудования, программного обеспечения.
  • HKEY_USERS (HKU) - Индивидуальные настройки среды для каждого пользователя системы (пользовательские профили) и профиль по умолчанию для вновь создаваемых пользователей.
  • HKEY_CURRENT_CONFIG (HKCC) - Конфигурация для текущего аппаратного профиля. Обычно профиль один единственный, но имеется возможность создания нескольких с использованием (Панель управления-Система-Оборудование-Профили оборудования). На самом деле HKCC не является полноценным разделом реестра, а всего лишь ссылкой на раздел из "HKLM\SYSTEM\CurrentControlSet\CurrentControlSet\Hardware Profiles\Current".

Возможности конкретного пользователя при редактировании данных реестра определяются его правами в системе. Далее по тексту, предполагается, если это не оговорено особо, что пользователь имеет права администратора системы. Вообще-то, в корневом разделе HKLM есть еще 2 подраздела с именами SAM и SECURITY, но доступ к ним разрешен только под локальной системной учетной записью (Local System Account), под которой обычно выполняются системные службы (system services). Т.е для доступа к ним нужно, чтобы редактор реестра был запущен с правами Local System, для чего можно воспользоваться утилитой PSExec - "psexec.exe -i -s regedit.exe". Подробное описание на "странице утилиты PSTools".

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

Сохранение и восстановление реестра

Rstrui.exe - Восстановление системы
  1. Использование точек восстановления (Restore Points)

    В Windows XP, существует механизм, с помощью которого, при возникновении проблем, можно восстановить предыдущее состояние компьютера без потери личных файлов (документы Microsoft Word, перечень просмотренных страниц, рисунки, избранные файлы и сообщения электронной почты). Точки восстановления (Restore Points) создаются системой автоматически во время простоя компьютера, а также во время существенных системных событий (таких, как установка приложения или драйвера). Пользователь также имеет возможность в любое время создавать их принудительно. Эти точки восстановления позволяют вернуть систему к состоянию на момент их создания.

    Для работы с точками восстановления используется приложение \windows\system32\restore\rstrui.exe (Пуск-Программы-Стандартные-Служебные-Восстановление системы).

    Данные контрольных точек восстановления хранятся в каталоге System Volume Information системного диска. Это скрытый системный каталог, доступ к которому разрешен только локальной системной учетной записи (Local System, т.е. "Службе восстановления системы"). Поэтому, если вы хотите получить доступ к его содержимому, вам придется добавить права вашей учетной записи с использованием вкладки "Безопасность" в свойствах каталога "System Volume Information". В папке "System Volume Information" есть подкаталог с именем, начинающемся с _restore... и внутри него - подкаталоги RP0, RP1...: - это и есть данные контрольных точек восстановления (Restore Point - RPx). Внутри папки RPx имеется каталог snapshot, содержащий копии файлов реестра на момент создания контрольной точки. При выполнении операции восстановления системы восстанавливаются основные системные файлы и файлы реестра. Механизм довольно эффективный, но воспользоваться им можно только в среде самой Windows. Если же система повреждена настолько, что загрузка невозможна, выход из ситуации все равно есть. Как - читайте в статье "Проблемы с загрузкой ОС" раздел Использование точек восстановления.

  2. Использование утилиты резервного копирования/восстановления NTBACKUP.EXE NTBakup.exe Мастер архивации

    В Windows 2000 механизма точек восстановления нет. Однако, как и в Windows XP, имеется утилита архивации, а точнее - резервного копирования и восстановления NTBACKUP.EXE, позволяющая выполнить практически то же, что делается при создании точек восстановления (и даже намного больше). NTBACKUP позволяет создать архив состояния системы из 2-х частей, - загрузочной дискеты, позволяющей выполнить восстановление даже на незагружающейся системе и собственно архив данных для восстановления (в виде обычного файла с расширением .bkf, сохраняемого на жестком диске или съемном носителе). Для получения копии состояния системы жмем (Пуск-Выполнить-ntbackup.exe).

    Запускаем "Мастер архивации", и указываем ему, что нужно архивировать состояние системы и где хранить данные архива. Где хранить архив

    После завершения работы мастера будет создан архив состояния системы (D:\ntbackup.bkf). С помощью "Мастера восстановления" вы можете всегда вернуть состояние системы на момент создания архива.

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

  3. Использование утилиты для работы с реестром из командной строки REG.EXE

    В Windows 2000 утилита REG.EXE входит в состав пакета Support tools (можно также использовать REG.EXE из комплекта Windows XP - просто скопируйте ее в каталог \winnt\system32). Запускается из командной строки. При запуске без параметров выдает краткую справку по использованию.

    Для резервного копирования реестра используется REG.EXE SAVE, для восстановления - REG.EXE RESTORE, а для получения справки REG.EXE SAVE /?.

    Синтакис REG SAVE и REG RESTORE одинаков и вполне понятен из справки. Есть, правда некоторые моменты. В версии утилиты из ОС Windows 2000 нельзя было указывать путь в имени файла для сохранения раздела реестра и сохранение выполнялось только в текущий каталог. Справка самой утилиты и примеры ее использования для сохранения (REG SAVE) вполне можно использовать для сохранения любых разделов реестра, в т.ч. HKLM\software, HKLM\sytem и т.п. однако, если вы попробуете восстановить, например, HKLM\sytem, то получите сообщение об ошибке доступа, вызванную занятостью данного раздела реестра, а поскольку он занят всегда, восстановление с помощью REG RESTORE выполнить не удастся.

    • Для сохранения куста SYSTEM: "REG SAVE HKLM\SYSTEM system.hiv"
    • Для сохранения куста SOFTWARE: "REG SAVE HKLM\SOFTWARE software.hiv"
    • Для сохранения куста DEFAULT: "reg save HKU\.Default default.hiv".

    Если файл существует, то REG.EXE выдаст ошибку и завершится.

    Сохраненные файлы можно использовать для восстановления реестра ручным копированием в папку %SystemRoot%\system32\config.

  4. Ручное копирование файлов реестра

    Если загрузиться в другой операционной системе, то с файлами из папки реестра можно делать все, что угодно. В случае повреждения файла system, можно воспользоваться, например, сохраненным с помощью REG SAVE файлом system.hiv, скопировав его в папку реестра и переименовав в system. Или выполнить это же действие, используя сохраненную копию файла system из контрольной точки восстановления.

  5. Использование режима экспорта-импорта реестра

    Редактор реестра позволяет делать экспорт как всего реестра, так и отдельных разделов в файл с расширением reg. Импорт полученного при экспорте reg-файла позволяет восстановить реестр. Щелкаете на "Реестр" --> "Экспорт (Импорт) файла реестра". Импорт также можно выполнить двойным щелчком по ярлыку reg-файла.

  6. Использование специальных утилит для работы с реестром сторонних производителей

    Существует немало программ сторонних производителей для работы с реестром, позволяющих не только сохранять и восстанавливать данные реестра, но и выполнять массу других полезных операций, таких, как диагностика и удаление ошибочных или ненужных данных, оптимизация, дефрагментация и т.п. Большинство из них платные - jv16 Power Tools, Registry Mechanic, Super Utilities Pro, Reg Organizer и другие. Список и краткое описание на securitylab.ru.

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

    Пожалуй, самым популяным программным обеспечением для работы с реестром является jv16 Power Tools компании Macecraft Software. Главные достоинства - высокая надежность, многофункциональность, простота и удобство использования, поддержка нескольких языков, в т.ч. русского. Однако не все знают, что существует и бесплатный вариант, называющийся Power Tools Lite. Конечно, до полнофункциональной jv16 ему далеко, но для поиска данных, чистки и оптимизации реестра вполне подойдет. Замечу, что резервная копия создаваемая данной программой является всего лишь reg-файлом для восстановления состояния реестра до момента его изменения. Многие (если не большинство) программы для работы с реестром создают аналогичные копии, пригодные только для восстановления тех данных, которые они изменяют. В случае порчи реестра они вам не помогут. Поэтому, выбирая (особенно бесплатную) программу с возможностью резервного копирования реестра, разберитесь, какие же копии она создает. Идеальный вариант - программа, создающая копии всех кустов реестра. При наличии такой копии вы всегда сможете полностью восстановить реестр обычным копированием файлов. Я бы порекомендовал бесплатную консольную утилиту regsaver.exe Скачать, сайт программы. Утилита сохраняет файлы реестра в каталог, указываемый в качестве параметра командной строки:

    • regsaver.exe D:\regbackup - после выполнения программы в каталоге D:\regbackup будет создан подкаталог с уникальным именем, состоящим из года, месяца, числа и времени создания резервной копии файлов реестра ("yyyymmddhhmmss"). После выполнения резервирования программа может выключить компьютер или перевести его в спящий режим.
    • regsaver.exe D:\regbackup /off /ask - Выключить компьютер. Ключ /ask требует подтверждения пользователя при выключении питания.
    • regsaver.exe D:\regbackup /standby - Перевести в спящий режим без подтверждения (нет/ask).
    • regsaver.exe D:\regbackup /hibernate /ask - Перевести в режим Hibernate.

    Вместо стандартного выключения компьютера можно использовать резервное копирование реестра с выключением по его завершению.

  7. Восстановление реестра, при отсутствии резервных копий

    К примеру, при загрузке системы, вы видете сообщение о нарушении целостности куста реестра SYSTEM:
    Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

    Если у вас не выполнялось резервирование данных реестра, был отключен механизм создания контрольных точек восстановления или вы использовали Win2K, где этого механизма просто не существует, то все равно есть шансы оживить систему, загрузившись в другой ОС и восстановив файл system. Даже если содержимое этого файла будет не совсем актуальным, система, с большой долей вероятности, останется работоспособной. Возможно, придеться переустановить некоторые программные продукты, или обновить драйверы.

    • Использование резервных файлов реестра, автоматически созданных каким-либо программным обеспечением. Откройте папку \Windows\system32\config и проверьте, нет ли в ней файла system.bak (возможно другое расширение, отличное от .alt и .log). Переименуйте его в system и попробуйте загрузиться.
    • Использование, сохраненного после начальной установки, файла (файлов) из каталога \WINDOWS\REPAIR. Такой вариант, не самый оптимальный, на крайний случай.
    • использование функции восстановления редактора реестра Windows XP при загрузке поврежденного куста.

    Редактор реестра позволяет открывать файлы не только "своего" реестра, но и файлы, являющиеся реестром другой операционной системы. В Windows 2000 для загрузки файла (куста) реестра сохраненного на диске использовался редактор regedt32.exe, в Windows XP функции regedt32.exe и regedit.exe совмещены и, дополнительно, появилась возможность восстановления поврежденного куста при загрузке. Для этого загрузитесь в Windows XP (Windows Live, Winternals ERD Commander, установленная в другой каталог WinXP, другой компьютер с возможностью загрузки проблемного куста реестра по сети или с внешнего носителя). Запустите редактор реестра. В левой части дерева реестра выберите один из разделов: HKEY_USERS или HKEY_LOCAL_MACHINE. В меню Реестр (Registry) (В других версиях редактора реестра этот пункт меню может называться "Файл") выберите команду "Загрузить куст(Load Hive)". Найдите испорченный куст (в нашем случае - system). Нажмите кнопку "Открыть". В поле "Раздел" введите имя, которое будет присвоено загружаемому кусту. Например BadSystem. После нажатия OK появится сообщение:

    Восстановление загрузкой куста в regedit

    В левом окне редактора реестра выберите подключенный куст (BadSystem) и выполните команду "Выгрузить куст". Поврежденный system будет восстановлен. При чем, редактор реестра Windows XP вполне успешно восстановит реестр и более старой ОС Windows 2000.

Мониторинг реестра.

Одной из лучших программ для мониторинга реестра, с моей точки зрения, является Марка Руссиновича - маленькая и функциональная утилита, не требующая инсталляции и работающая в операционных системах Windows NT, 2000, XP, 2003, Windows 95, 98, Me и 64-разрядных версиях Windows для архитектуры x64. Скачать RegMon.exe. Настройка фильтра для мониторинга реестра

Regmon позволяет в реальном масштабе времени отслеживать, какие приложения обращаются к реестру, в какие разделы, какую информацию они читают или пишут. Информация выдается в удобном виде, который можно настроить под свои нужды - исключить из результатов мониторинга данные о работе с реестром неинтересных вам приложений, подчеркнуть выбранным цветом то, что считаете особо важным, включить в результаты мониторинга только выбранные процессы. Программа позволяет быстро и легко выполнить запуск редактора реестра с переходом к указанному разделу или параметру. Имеется возможность выполнять мониторинг в процессе загрузки операционной системы с записью результатов в специальный журнал %SystemRoot\Regmon.log.

После старта RegMon, можно определить критерии фильтрации результатов мониторинга реестра. По умолчанию протоколируются все события обращения к реестру. Значения полей фильтра запоминаются и выдаются при следующем старте Regmon. При нажатии кнопки Defaults выполняется сброс фильтра в установки по умолчанию - фиксировать все обращения к реестру. Значения полей фильтра удобнее формировать не при старте RegMon, а в процессе мониторинга, используя меню правой кнопки мыши для выбранного процесса - Include process - включить данный процесс в мониторинг, Exclude process - исключить данный процесс из мониторинга. После старта Regmon с фильтрами по умолчанию, вы увидите большое количество записей об обращении к реестру и, используя Include/Exclude process, можете настроить вывод результатов только нужного вам процесса (процессов).

Registry Monitor - Sysinternals

Еще одна очень полезная возможность - получить журнал обращений к реестру в процессе загрузки операционной системы. Для этого выбираете меню Options-Log Boot. Программа выдаст сообщение, что Regmon сконфигурирован для записи обращений к реестру в файл журнала в процессе следующей перезагрузки ОС:

Regmon - мониторинг в процессе загрузки

После перезагрузки ОС, в корневом каталоге системы (C:\Windows) будет находиться файл Regmon.log с журналом результатов мониторинга. Режим записи в журнал будет продолжаться до запуска Regmon.exe вошедшим в систему пользователем и выполняется только для одной перезагрузки системы. Конечно же, содержимое журнала не будет полностью отображать абсолютно все обращения к реестру. Поскольку Regmon в режиме Log Boot инсталлируется в системе и, после перезагрузки, запускается в качестве драйвера, все обращения к реестру, произошедшие до его старта, в журнале не зафиксируются. Однако большая часть все же туда попадет, и вы увидите, что таких обращений будет несколько сотен тысяч. Подробное описание утилиты для отслеживания обращений к реестру Regmon.

Уход за реестром.

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

Автозапуск программ.

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

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
.

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

Записи в HKLM относятся ко всем пользователям компьютера. Для текущего пользователя запуск определяется ключами в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

Пример раздела HKLM\...\RUN:

Автозапуск программ

В правом окне вы видите список параметров, значениями которых является строка, ссылающаяся на программу. При входе пользователя в систему, все перечисленные программы будут выполнены. Удалите параметр - программа не запустится. Но удалять можно не все. Поэкспериментируйте меняя расширение exe на ex_.

Кроме программ, запускающихся при регистрации пользователя в системе, запускается еще огромное количество других, не всегда очевидных, - это и системные службы (сервисы), различные драйверы, программы оболочки (Shell) и т.п. Кроме полезных (а иногда и бесполезных) программ могут выполняться, используя автоматический запуск и внедрившиеся в систему вирусы. Более подробно о вирусах здесь. Точек возможного автоматического запуска исполняемых модулей огромное множество, и для их поиска в реестре удобнее использовать специальные программы - мониторы автозапуска, наиболее популярной из которых, является Autoruns.exe, обладающей более широким спектром возможностей, чем служебная программа MSConfig, входящая в состав Windows.

Autoruns

Инсталляция не требуется. Просто скачайте Autoruns, разархивируйте его и запустите файл Autoruns.exe (autorunsc.exe - консольная версия). Программа покажет, какие приложения настроены на автоматический запуск, а также представит полный список разделов реестра и каталогов файловой системы, которые могут использоваться для задания автоматического запуска. Элементы, которые показывает программа Autoruns, принадлежат к нескольким категориям: объекты, автоматически запускаемые при входе в систему, дополнительные компоненты проводника, дополнительные компоненты Internet Explorer (включая объекты модулей поддержки обозревателя (BHO)), библиотеки DLL инициализации приложений, подмены элементов, объекты, исполняемые на ранних стадиях загрузки, библиотеки DLL уведомлений Winlogon, службы Windows и многоуровневые поставщики услуг Winsock. Чтобы просмотреть автоматически запускаемые объекты требуемой категории, достаточно выбрать нужную вкладку.

Для поиска записей в реестре, относящихся к выбранному объекту достаточно использовать пункт "Jump to" контекстного меню, вызываемого правой кнопкой мыши. Произойдет запуск редактора реестра и откроется ключ, обеспечивающий его запуск. Подробное описание и примеры использования Autoruns от Sysiinernals.

Вот еще несколько мест используемых для автозагрузки программ (вирусов):

  • [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows]
    [HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
    [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
    [HKLM\SYSTEM\CurrentControlSet\Services]
  • В файле "Win.ini" в разделе "[windows]" есть два параметра, которые могут служить местом для автозапуска. Первый параметр это "load", второй — это "run". Содержимое по умолчанию для них — это пустая строка. Имена файлов в них не должны содержать пробелов, указание полного имени файла в двойных кавычках не допускается. В них можно перечислить несколько имен файлов через запятую. Обычно они используются для загрузки драйверов, но могут загружать "троянских коней" или "клавиатурных шпионов".
  • Еще один файл инициализации, который может быть использован для автоматического запуска программ, — это файл "System.ini". В этом файле в разделе "[boot]" есть параметр "shell", который хранит имя оболочки Windows. Значение по умолчанию этого параметра — "Explorer.exe". Значение "shell" может содержать список приложений для автоматического запуска как параметры командной строки "Explorer.exe". Приложение "Explorer.exe" обрабатывает командную строку и пытается запускать приложения или документы, перечисленные в командной строке. Требования к формату параметра "shell" такие же, как и у вышеупомянутых параметров файла "Win.ini". В последнее время этот параметр начал широко использоваться для запуска сетевых червей. Это делает локализацию трудно обнаруживаемой, т.к. администраторы забывают просматривать этот параметр как место для запуска деструктивных приложений.
  • Первая папка, которая отрабатывается после завершения загрузки Windows, — это папка "Автозагрузка", которая может хранить список ярлыков (*.lnk) приложений или документов. Ее состояние можно увидеть, выйдя из меню "Пуск" в подменю "Программы". Это — папка, относящаяся к "Текущему пользователю". Чтобы найти ее размещение, сначала надо найти в системном реестре ключ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, хранящий размещение всех измененных папок, и отыскать там параметр "Startup" строкового типа. Если искомый параметр отсутствует, то ее размещение по умолчанию на жестком диске прописано в системном реестре в параметре "Startup" ключа HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders.
  • Следующая папка — это "Общая" для всех пользователей папка "Автозагрузки" (Common Startup Folder), которая также отрабатывается после загрузки Windows в поисках ярлыков с документами или приложениями. Увидеть ее в подменю "Пуск" можно в Windows NT или 2000. В Windows 9X, ME ее содержимое не отображается. Она должна хранить ярлыки общие для профилей всех пользователей. В документации Microsoft (MSDN) сказано, что эта папка создавалась для многопользовательских Windows. Однако ее содержимое отрабатывается, даже если Windows 95, 98, ME работают в однопользовательском режиме. В системном реестре ее размещение на жестком диске прописано в строковом параметре "Common Startup" ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, который хранит измененные пути папок. При отсутствии этого параметра следует посмотреть размещение этой папки по умолчанию в параметре "Common Startup" ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders.
  • В системном реестре Windows есть ветвь SOFTWARE\Microsoft\Windows\CurrentVersion, содержащая несколько групп для автоматического запуска приложений. Все эти группы могут быть как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Изложение будет общим, и все может быть экстраполировано на оба этих раздела. Если Windows используется как многопользовательская среда, другими словами, это либо Windows версий NT/2000/XP, либо 95, 98, ME с задействованными профилями пользователей, то группы запуска следует искать также в разделе HKEY_USERS\.Default. Это раздел общий для всех пользователей системы. Если Windows 95, 98, ME работают в однопользовательском режиме, то раздел HKEY_USERS .Default идентичен разделу HKEY_CURRENT_USER.

    Итак, я приведу полные пути к ключам: SOFTWARE\Microsoft\Windows\CurrentVersion\Run, SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce, SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx, SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup, SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices, SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce, которые могут содержать строковые параметры, с именами приложений или документов запускающиеся при старте системы. Раздел реестра "RunOnce" не поддерживается в Windows NT 3.5. Имена строковых параметров, содержащихся в этих ключах, могут быть произвольными.

    Ключи, содержащиеся в разделе HKEY_LOCAL_MACHINE, отрабатываются раньше соответствующих ключей, находящихся в разделе HKEY_CURRENT_USER.

    Содержимое ключей системного реестра "RunServices", "RunServicesOnce" обрабатывается раньше параметров ключей "Run", "RunOnce".

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

    Запуск приложений или документов, как это следует из самого названия, прописанных в ключах "RunOnce" и "RunServicesOnce", происходит один раз, независимо от того, был он успешным или нет. Параметр, находящийся в ключе "RunOnce" или "RunServicesOnce", удаляется до запуска приложения, имя которого он содержит.

    Параметры, содержащиеся в ключах "Run", "RunOnce", запускаются синхронно и в неопределенном порядке, но после того, как закончило загрузку содержимое "RunServices" и "RunServicesOnce".

    Ключи системного реестра обрабатываются в следующем порядке. Первыми отрабатывается содержимое "RunServices" и "RunServicesOnce" раздела HKEY_LOCAL_MACHINE. Далее выдается окно регистрации пользователя в системе. После этого операционная система переходит к обработке ключей "RunOnce" и "Run" раздела HKEY_LOCAL_MACHINE, далее "Run" раздела HKEY_CURRENT_USER. Следующими запускаются элементы, содержащиеся в папке "Автозагрузка". После этого наступает очередь параметров ключа "RunOnce" раздела HKEY_CURRENT_USER.

    Следует обратить внимание на ключ "Setup", который может содержаться в ключе "RunOnce" как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Этот ключ используется как мастером установки Windows, так и мастером "установки — удаления" программ. При отработке параметров, содержащихся в этом ключе, отображается диалоговое окно с индикатором прогресса. Имя параметра используется как имя пункта в диалоговом окне. Аналогично содержимому ключа "RunOnce", пункты ключа "RunOnce\Setup" удаляются и запускаются один раз.

  • Еще один ключ системного реестра, на который следует обратить внимание, — это "RunOnceEx". Приведу отличия запуска параметров, находящихся в "RunOnceEx" от запуска параметров, содержащихся в ключах системного реестра "RunOnce" и "Run".

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

    Содержимое ключей "RunOnce", "RunOnceEx", "RunOnce\Setup" и "RunServicesOnce" приложением настройки системы "MSConfig.exe" не отображается!

  • В ключе Software\Microsoft\Windows NT\CurrentVersion\Windows могут находиться два строковых параметра "Load" и "Run", которые могут хранить списки приложений для автоматического запуска. Эти параметры аналогичны одноименным параметрам из файла инициализации "Win.ini". При установке Windows NT (2000) поверх Windows 95, 98 значения параметров из "Win.ini" раздела "[windows]" переносятся в соответствующие параметры ключа Software\Microsoft\Windows NT\CurrentVersion\Windows. Если в параметре указывается несколько файлов, то имена должны быть разделены пробелами. Поэтому в них невозможно прописать путь к файлу, содержащим пробелы, — двойные кавычки не принимаются. "Значение по умолчанию" для этих параметров — пробел. Программы, запущенные из параметра "Load", минимизируются при запуске.
  • У Windows версий ME, 2000 и XP появляется еще один список автозагрузки программ или документов, запускающихся после регистрации пользователя в системе, который может размещаться как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Он размещается в строковых параметрах ключа Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run. Имена параметров для этого ключа имеют особенность: они должны быть представлены в виде порядковых номеров, начиная с "1". Список, находящийся в разделе HKEY_LOCAL_MACHINE, будет отработан раньше списка раздела HKEY_CURRENT_USER.
  • Отдельная группа Windows Logon для управления инициализацией при регистрации пользователя появляется в Windows NT и далее развивается Microsoft для Windows версий 2000 и XP. Параметры Winlogon находятся в системном реестре в ключе SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon раздела HKEY_LOCAL_MACHINE. Все описываемые в статье параметры, относящиеся к Winlogon, имеют строковый тип.

    Параметр "Shell", отвечающий за программную оболочку, присутствует в ветви реестра "Winlogon" в версиях Windows NT, 2000 и XP. Этот строковый параметр определяет список исполнимых файлов, обеспечивающих для операционной системы интерфейс пользователя и которые должны быть запущены вместе с программной оболочкой.

    По умолчанию Windows запускает программы, перечисленные в параметре "Userinit", расположенном в ветви "Winlogon", включая и сам "Userinit.exe". Если же по какой-то причине "Winlogon" процесс не смог запустить программы, определенные в параметре "Userinit", тогда "Winlogon" переходит непосредственно к обработке исполнимых файлов, имена которых записаны в параметре "Shell".

    Параметр "System" присутствует в Windows версий NT, 2000 и XP. Он содержит список имен исполнимых файлов, запускаемых Winlogon в системном контексте во время инициализации системы. Этот список можно варьировать, редактируя значение этого параметра. Значение по умолчанию этого параметра — "lsass.exe, spoolss.exe" для Windows NT, и "lsass.exe" для Windows 2000, XP. Интересно замечание Microsoft, приведенное в MSDN: "Этот параметр появляется, но не используется самой Windows 2000".

    Параметр "VmApplet", запускающий приложение "Панели управления" для настройки конфигурации системы, специфичен для Windows версий 2000 и XP. Он содержит список или один исполнимый файл, которые Winlogon-процесс запускает для того, чтобы пользователь мог скорректировать настройки виртуальной памяти, если на системном томе отсутствует страничный файл подкачки. В этом параметре не обязательно указывать расширения для имен файлов.

    Значение по умолчанию этого параметра — "rundll32 shell32, Control_RunDLL "sysdm.cpl"". Не стоит без нужды и изменять значение этого параметра, потому что это может привести к изменению настроек виртуальной памяти в Windows 2000, XP.

    "Userinit" (инициализация пользователя) специфичен для версий Windows NT, 2000 и XP. Значение этого параметра содержит исполнимые файлы, которые запускаются процессом WinLogon в контексте пользователя, при регистрации пользователя в системе. По умолчанию Winlogon запускает "Userinit.exe", который ответственен за запуск программной оболочки и исполняет файлы сценариев для регистрации, переустанавливает сетевые соединения и затем запускает "Explorer.exe". Значение по умолчанию параметра "Userinit": "userinit, nddeagnt.exe" для Windows NT, "userinit" для Windows 2000, XP. Приложение "nddeagnt.exe" необходимо для запуска NetDDE — сетевого динамического обмена данными. Расширения в именах файлов, перечисленных в этом параметре, не обязательны. Значение этого параметра можно изменять, добавляя или убирая программы из списка.

    Если необходимо запустить приложение до загрузки интерфейса пользователя вместе с "проводником" Windows, то для этого можно заменить "Userinit.exe" на имя своей программы, не забыв включить в приложение код для запуска "Userinit.exe", или поступить еще проще, создав исполнимый файл для пакетной обработки с именем "userinit.bat", со списком программ для запуска и в одной из строк прописать собственно "Userinit.exe".

  • Программы могут запускаться с помощью "Мастера планирования заданий". Посмотреть список установленных заданий, а также добавить новое можно так: (Пуск-Все программы-Стандартные-Служебные-Назначенные задания) - при этом откроется папка ..\WINDOWS\Tasks, в которой отображены назначенные задания. Чтобы добавить новое задание, нужно дважды щелкнуть левой кнопкой мыши по значку "Добавить задание". Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.
  • Windows считывает данные о пути к папке "Автозагрузка" из реестра. Этот путь прописан в следующих разделах:
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

      "Common Startup"="%ALLUSERSPROFILE%\Главное меню\Программы\Автозагрузка" - для всех пользователей системы.

    • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

      "Startup"="%USERPROFILE%\Главное меню\Программы\Автозагрузка" - для текущего пользователя.

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

Драйверы и службы.

Информация о драйверах и системных службах (сервисах) находится в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

Каждому драйверу или сервису соответствует свой раздел. Например, "atapi" - для драйвера стандартного IDE контроллера жестких дисков, "DNScache" - для службы "DNS клиент".

Назначение основных ключей:

  • DisplayName - выводимое имя - то что вы видите в качестве осмысленного названия при использовании, например, элементов панели управления.
  • ErrorControl - режим обработки ошибок.
  • 0 - игнорировать (Ignore) при ошибке загрузки или инициализации драйвера не выдается сообщение об ошибке и система продолжает работу.
  • 1 - нормальный (Normal) режим обработки ошибки. Работа системы продолжается после вывода сообщения об ошибке. Параметры ErrorControl для большинства драйверов устройств и системных служб равна 1.
  • 2 - особый (Severe) режим. Используется для обеспечения загрузки последней удачной конфигурации (LastKnownGood).
  • 3 - критическая (Critical) ошибка. Процесс загрузки останавливается, и выводится сообщение о сбое.
  • Group - название группы, к которой относится драйвер, например - "Видеоадаптеры".
  • ImagePath путь и имя исполняемого драйвера. Файлы драйверов обычно имеют расширение .sys и располагаются в папке \Windows\System32\DRIVERS\. Файлы сервисов - обычно .exe и располагаются в \Windows\System32\.
  • Start управление загрузкой и инициализацией. Определяет, на каком этапе загрузки системы производится загрузка и инициализация данного драйвера или службы. Значения Start:
    • 0 - BOOT - драйвер загружается загрузчиком.
    • 1 - SYSTEM - драйвер загружается в процессе инициализации ядра.
    • 2 - AUTO - служба запускается автоматически при загрузке системы.
    • 3 - MANUAL - служба запускается вручную.
    • 4 - DISABLE - отключено.

Загрузка драйверов и запуск служб с параметрами Start от 0 до 2 выполняются до регистрации пользователя в системе. Для отключения драйвера или службы достаточно установить значение Start равным 4. Отключение драйверов и служб через редактирование этого ключа реестра - довольно опасная операция. Если вы случайно или по незнанию отключите драйвер или сервис, без которых невозможна загрузка или работа - получите аварийное завершение системы (чаще всего - синий экран смерти BSOD).

Драйверы и службы для безопасного режима.

При загрузке операционной системы для инициализации драйверов и служб используется набор управляющих параметров из раздела текущей конфигурации HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. При возникновении проблем с работой операционной системы нередко используется безопасный режим загрузки (Safe Mode). Отличие данного режима от обычной загрузки, заключается в том, что используется минимально необходимая конфигурация драйверов и системных служб, перечень которых задается разделом: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot.

Подразделы:

  • Minimal - список драйверов и служб, запускаемых в безопасном режиме (Safe Mode).
  • Network - то же, но с поддержкой сети.

Кроме раздела HKLM\SYSTEM\CurrentControlSet, в реестре присутствуют HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002. По своей структуре они идентичны HKLM\SYSTEM\CurrentControlSet и предназначены для дополнительной возможности восстановления работоспособности системы с использованием загрузки последней удачной конфигурации системы (Last Known Good Configuration). Возможные варианты загрузки управляющих наборов определяются содержимым раздела: HKEY_LOCAL_MACHINE\SYSTEM\Select:

Загрузка последней удачной конфигурации
  • Current - управляющий набор, который был использован для текущей загрузки.
  • Default - управляющий набор, который будет использоваться при следующей загрузке.
  • LastKnownGood - управляющий набор, который будет использоваться, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).
  • Failed - сбойный управляющий набор, который будет создан, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).

После успешной загрузки и входа пользователя в систему, данные из CurrentControlSet и ControlSet001 копируются в ControlSet002. При изменении конфигурации, данные записываются в CurrentControlSet и ControlSet001. Если изменение настроек привело к краху системы, имеется возможность ее восстановления при использовании варианта последней успешной загрузки, берущей данные из ControlSet002. После удачной загрузки в этом режиме, появится новый подраздел с управляющим набором, ControlSet003, - на тот случай, если вам снова понадобится использовать Last Known Good Configuration. При каждом использовании загрузки последней удачной конфигурации значение ControlSet00x будет увеличиваться.

Ограничиваем доступ пользователя к ресурсам.

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

Открываем раздел: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer и добавляем в него параметр NoDrives типа DWORD. Значение параметра определяет скрываемые диски A-Z. Наличие "1" начиная с младшего бита двойного слова означает отсутствие логического диска в "Мой компьютер" 00000001 - нет диска A, 00000002 - нет диска B, 00000004 - нет диска C, 0000000F - нет дисков A-F. Добавлю, что скрытые таким образом диски не видны только для Explorerа и в других программах могут быть доступны (в FAR например). Но другие программы ведь можно и скрыть или запретить - о чем дальше.

Изменяем меню кнопки "ПУСК"

  • NoRun=dword:00000001 - нет кнопки "Выполнить".
  • NoLogOff=hex:01 00 00 00 - нет "Завершение сеанса <Имя>".
  • NoFind=dword:00000001 - нет пункта "Найти".
  • NoFavoritesMenu=dword:00000001 - нет "Избранное".
  • NoRecentDocsMenu=dword:00000001 - нет "Документы".
  • NoSetFolders=dword:00000001 - нет "Панели управления" в подменю "Настройка".
  • NoSetTaskbar=dword:00000001 - нет "Панель задач" там же.
  • NoPrinters=dword:00000001 - нет "Принтеры" в "Панели управления".
  • NoAddPrinter=dword:00000001 - нет "Добавить принтер".
  • NoDeletePrinter=dword:00000001 - нет "Удалить принтер".
  • NoDesktop=dword:00000001 - пустой рабочий стол.
  • NoNetHood=dword:00000001 - нет "Сетевое окружение".
  • NoInternetIcon=dword:00000001 - нет значка "Интернет" на Рабочем столе Windows.
  • NoTrayContextMenu=hex:01 00 00 00 - отключить меню, вызываемое правой кнопкой мыши на панели задач.
  • NoViewContextMenu=hex:01 00 00 00 - отключить меню, вызываемое правой кнопкой мыши на Рабочем столе. Чтобы включить обратно, надо 01 заменить на 00.
  • NoFileMenu=hex:01 00 00 00 скрыть "File" в верхней строке меню Проводника.
  • ClearRecentDocsOnExit=hex:01 00 00 00 - не сохранять список последних открываемых документов по выходу из системы.

Следующие параметры относятся к разделу реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Network:

  • NoNetSetup=dword:00000001 - отключает доступ к значку "Сеть" в Панели управления.
  • NoFileSharingControl=dword:00000001 - скрывает диалоговое окно управления совместным использованием файлов и принтеров.
  • NoNetSetupIDPage=dword:00000001 - скрывает вкладку "Идентификация".
  • NoNetSetupSecurityPage=dword:00000001 - скрывает вкладку "Управление доступом".
  • NoEntireNetwork=dword:00000001 - скрывает элемент "Вся сеть" в Сетевом окружении.
  • NoWorkgroupContents=dword:00000001 - скрывает всё содержание Рабочей группы в Сетевом окружении.

Следующие параметры относятся к ограничениям для всех пользователей, поскольку используется раздел HKEY_LOCAL_MACHINE, а не HKEY_CURRENT_USER. Для редактирования данных нужно обладать правами администратора системы. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System:

  • NoSecCPL=dword:00000001 - отключает доступ к значку "Пароли" в Панели управления.
  • NoAdminPage=dword:00000001 - скрывает вкладку "Удаленное управление".
  • NoProfilePage=dword:00000001 - скрывает вкладку "Профили пользователей".
  • NoPwdPage"=dword:00000001 - скрывает вкладку "Смена паролей".
  • NoDispCPL=dword:00000001 - отключает доступ к значку "Экран" в Панели управления.
  • NoDispAppearancePage=dword:00000001 - скрывает "Оформление" в окне свойств экрана.
  • NoDispBackgroundPage=dword:00000001 - скрывает "Фон" в окне свойств экрана.
  • NoDispScrSavPage=dword:00000001 - скрывает "Заставка" в окне свойств экрана.
  • NoDispSettingsPage=dword:00000001 - скрывает "Настройка" в окне свойств экрана.
  • NoConfigPage=dword:00000001 - скрывает "Профили оборудования" в окне свойств системы.
  • NoDevMgrPage=dword:00000001 - скрывает вкладку "Устройства" в окне свойств системы.
  • NoFileSysPage=dword:00000001 - скрывает кнопку "Файловая система..." на вкладке "Быстродействие" в окне свойств системы.
  • NoVirtMemPage=dword:00000001 - скрывает кнопку "Виртуальная память..." на вкладке "Быстродействие" в окне свойств системы.
  • DisableRegistryTools=dword:00000001 - запрет Regedit.exe или Regedt32.exe.

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

DisableRegistryTools

Конечно же, пользователю, тем более, администратору, должно быть обидно, когда "Редактирование реестра запрещено администратором системы". Поэтому еще один небольшой раздел:

Обходим ограничения доступа пользователя к ресурсам.

Все вышеперечисленные ограничения могут касаться либо конкретного пользователя, либо всех пользователей системы, точнее их учетных записей. Однако в каждой ОС Windows есть еще одна учетная запись, права которой, в некоторой степени, даже выше прав локального администратора - локальная системная учетная запись (Local System Account) от имени которой запускаются системные службы (сервисы) еще до входа пользователя в систему. Если программу (тот же regedit.exe) запустить с правами Local System, то никакие ограничения, связанные с учетными записями любых реальных пользователей действовать не будут. Как запустить редактор реестра с правами локальной системной учетной записи, используя утилиту PSExec, я уже рассказывал в начале статьи, и там же разместил ссылку на страничку загрузки и описания пакета PSTools. Для тех же, кому нет надобности в скачивании всего пакета и нужно, не разбираясь в тонкостях, просто обойти ограничения - пошаговая инструкция:

  • Скачиваем psexec.exe ~140кб.
  • копируем его в папку \WINDOWS\SYSTEM32.
  • запускаем с помощью psexec редактор реестра: psexec -s -i regedit.exe. Для работы psexec.exe нужно обладать правами администратора т.е. пользователь должен входить в группу "Администраторы".
  • Вносим нужные исправления в реестр - DisableRegistryTools устанавливаем в 0 или удаляем его вообще. После чего пользуемся редактором реестра как обычно, снимая ограничения на запуск менеджера задач, блокировку антивирусных программ, и прочего, что там еще натворил вирус.

Конечно, можно придумать и другие варианты обхода ограничений, как например, загрузка с использованием Winternals ERD Commander и редактирование проблемного реестра, или использование утилиты командной строки REG.EXE (Скачать bat-файл для разблокировки редактора реестра и менеджера задач) или редактора реестра стороннего производителя, но данный способ - наиболее необычный, простой и быстрый. Необычность решения проблемы, как правило, дает то преимущество, что против ваших действий по обходу ограничений нет, или пока нет заранее подготовленных контрмер.

Кстати, данным способом можно воспользоваться не только для запуска regedit.exe, но и других программ - проводника (Explorer.exe) например: psexec -s -i C:\WINDOWS\EXPLORER.EXE, что позволит получить доступ к каталогам и файлам, недоступным реальному пользователю, как, например, скрытая системная папка System Volume Information.

Очень неплохой способ обхода ограничений - использование редактора реестра стороннего производителя Resplendent Registrar Registry Manager - бесплатный редактор реестра с удобным интерфейсом и полезными дополнительными возможностями по поиску, мониторингу, дефрагментации, сохранению и восстановлению реестра.

Как запустить regedit.exe, если у вас на рабочем столе нет ни кнопки (Пуск-Выполнить), ни проводника, а в меню "Программы" есть только Winword и "Игры". Вариантов много. Вот некоторые из них:

  • Используем Internet Explorer. Запускаем его. Жмем на (Файл-Открыть) и в окне "Введите адрес документа или папки Интернет" пишем: regedit.exe. Кстати таким образом можно запустить любую программу, даже окно ДОС, а уж на него все вышеперечисленные ограничения не действуют. В описываемом выше окошке вместо regedit.exe пишем command.com (или cmd.exe для WINNT) - и стартует окно ДОС. А из него можно запустить, например, Volkov Commander с дискеты и творить что угодно.
  • Используем файл с расширением .reg. Если на рабочем столе создать файл с расширением .reg и сделать по нему двойной щелчок, то запустится редактор реестра и данные из файла будут занесены в реестр.

Ненужные программы

  • Access Ramp Monitor (armon32.exe) - отслеживает параметры интернет-соединения, запрещает запуск некоторых игр.
  • Album Fast Start (abmtsr.exe) - утилита для сканера, для его нормальной работы не требуется, доступна из меню "Пуск".
  • Alogserv (alogserv.exe) - утилита для ведения протокола работы McAfee VirusScan.
  • Microsoft TV Viewer Post Setup Program (Bpcpost.exe) - часть Microsoft WebTV for Windows.
  • BrowserWebCheck (loadwc.exe) - проверяет, является ли Internet Explorer браузером, используемым по умолчанию. По желанию.
  • ConMgr.exe (conmgr.exe) - запускает WinFax Pro, нужна для ответа на входящие звонки.
  • CtfMon (ctfmon.exe) - прописывается в автозагрузку при каждом запуске Office XP, нужна для альтернативных способов ввода текста, раскладка клавиатуры.
  • CyDoor (CT_Load.exe) - spyware-утилита. Удалить вместе с программой-маткой. Поможет в этом утилита AD-aware.
  • EM_EXEC (em_exec.exe) - драйвер мыши Logitech. Нужен для поддержки дополнительных функций мыши или трекбола.
  • Fpx (mnmsrvc.exe) - служба Remote Desktop Sharing, часть Microsoft NetMeeting.
  • Gator (gator.exe) - шпионско-рекламная программа. Отключить.
  • HIDServ (hidserv.exe) - Human Interface Device Server, нужен если используется какое-то USB-аудиоустройство, например USB-клавиатура с регулятором громкости.
  • Internat (internat.exe) - индикатор раскладки клавиатуры в системной области панели задач. Для самого переключения не требуется.
  • LoadPowerProfile (powrprof.dll) - отвечает за управление питанием и загрузку соответствующих профилей. Грузится два раза, один можно отключить.
  • Machine Debug Manager (mdm.exe) - дебаггер, нужен разработчикам и тестерам ПО. Рекомендуется отключить.
  • MDAC_runonce (runonce.exe) - ассоциировано с Microsoft Data Access Components (MDAC). Автозагрузка не требуется, но наличие на диске самой системной утилиты runonce.exe необходимо. Microsoft Office Shortcut Bar (msoffice.exe) - панель быстрого запуска, входящая в состав Office.
  • MOSearch (mosearch.exe) - утилита Fast Search в Office XP, аналогична FindFast из Office 2000. Потребляет много ресурсов, отключить, если не работаете с многими документами.
  • MSBB (msbb.exe) - шпион, загружает рекламу на ПК и следит за пользователем. Отключить.
  • MSConfigReminder (msconfig.exe) - при загрузке ОС сообщает, если вы что-то отключили в программе "Настройка системы".
  • Netzip Smart Downloader (npnzdad.exe) - spyware-утилита, закачивает рекламу на ПК без ведома пользователя и отслеживает его действия. Отключить.
  • NewDotNetStartup (rundll32.exe)- шпионская программа. Отключить.
  • PWSTray (pwstray.exe) - Microsoft Personal Web Server, можно запустить вручную.
  • QuickSort (qsort.exe) - утилита для сортировки пунктов меню "Пуск" по алфавиту. По желанию.
  • RealDownload Express (npnzdad.exe) - загружает рекламу на ПК. Отключить.
  • Resource Meter (rsrcmtr.exe) - индикатор ресурсов Windows, можно запускать вручную.
  • SaveNow (savenow.exe) - шпионская, загружает рекламу на ПК. Отключить.
  • ScanRegistry (scanregw.exe) - системный сканер реестра, и делает его резервные копии. Оставить.
  • SchedulingAgent (mstask.exe) - "Планировщик заданий". Если не используется - отключить.
  • Synchronization Manager (mobsync.exe) - Internet Explorer Synchronization Manager - для повседневной работы не нужен.
  • SystemTray (systray.exe) - System Tray Services, выводит в системной области панели задач значки Volume Control, PC Card Status и Power Management.
  • TaskMonitor (taskmon.exe) - отслеживает ход запуска программ и поставляет эти данные дефрагментатору для оптимизации расположения файлов на диске. Оставить.
  • TimeSink Add Client (tsadbot.exe) - шпион. Отключить.
  • W3KNetwork (rundll32.exe w3knet.dll,dllinitrun) - шпион. Отключить.
  • Winmodem (wmexe.exe) - нужен для функционирования некоторых вин-модемов.

Пример reg-файла

Скопируйте текст в блокнот, уберите где надо комментарии (точка с запятой), сохраните с расширением .reg и запустите. При небольшой доработке, файл может использоваться для быстрой настройки Windows.

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


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explоrer]
;Удаление фиксированного списка программ меню Пуск
;"NoStartMenuPinnedList"=dword:00000001
;Удаление списка часто используемых программ
;"NoStartMenuMFUprogramsList"=dword:00000001
;Удаление имени пользователя в меню Пуск
;"NoUserNameInStartMenu"=dword:00000001
;Удаление пункта Избранное из меню Пуск
;"NoFavoritesMenu"=dword:00000001
;Удаление пункта Мои документы из меню Пуск
;"NoRecentDocsMenu"=dword:00000001
;Управление количеством запоминаемых документов в меню Пуск
;"MaxRecentDocs"=dword:00000000
;Автоматическое очищение списка недавно открытых документов
;"ClearRecentDocsOnExit"=dword:00000001
;Не запоминать открываемые документы
;"NoRecentDocsHistory"=dword:00000001
;Удалить пункт Мои рисунки из пункта Документы
;"NoSMMyPictures"=dword:00000001
;Удаление пункта Справка в меню Пуск
;"NoSMHelp"=dword:00000001
;Установка классического вида в Проводнике
;"ClassicShell"=dword:00000001

;Очистка списка недавно использованных команд
;[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explоrer\RunMRU]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState]
;Поиск файлов без анимированного персонажа
;"Use Search Asst"="no"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Hearts]
;В игрк Червы после нажатия клавиш CTRL+SHIFT+ALT+F12 откроются карты противников
"ZB"="42"

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
;Замена заголовка в Internet Explorer
"Window Title"="Micro$oft Internet Explorer"
;Включить автоматическую подгонку размеров изображения Internet Explorer
;"AutoImageResize"="yes"
;Не проверять обновления Internet Explorer
;"NoUpdateCheck"=dword:00000001
;Воспроизводить звуки на веб-страницах
;"Play_Background_Sounds"="yes"
;Установка стартовой странички
;"Start Page"="http://ya.ru/"
;Поисковик
;"Search Page"="http://ya.ru/"

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
;При ошибках перезагружать только оболочку, а не систему
;"AutoRestartShell"=dword:00000001

;[HKEY_CURRENT_USER\Control Panel\Desktop]
;Установка скорости всплывания меню (по умолчанию 200ms)
;"MenuShowDelay"="100"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
;Отключение Boot defrag (дефрагментация файлов автозагрузки)
;"Enable"="N"

;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]
;Путь дистрибутива Windows
;"SourcePath"="C:\DISTRIB\OS\WinXP\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
;Автоматическая выгрузка DLL
;"AlwaysUnloadDLL"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers]
;Отключение нового метода автозапуска компакт-дисков
;"Silence"="*.*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
;Отключение дебаггера
;"Auto"="0"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
;Автоматическая перезагрузка после краха
;"AutoReboot"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Сontrol\Nls\Locale]
;Меняем название русской раскладки
"00000419"="Великий и могучий"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
;Компьютер в сети невидим
;"restrictanonymous"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
;Отключение обновления метки последнего доступа к папке
;"NtfsDisableLastAccessUpdate"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
;Очистка файла подкачки
;"ClearPageFileAtShutdown"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDRom]
;Отключение стандартного автозапуска компакт-дисков
;"AutoRun"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}]
;Всплывающая подсказка к значку Корзина на Рабочем столе
"InfoTip"="Здесь хранится мусор"
;Новое имя для корзины
"LocalizedString"="Помойка"



Полезные советы

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

Обычно это бывает, если вы удалили программу вручную, а не деинсталлировали ее, или же деинсталлятор глюканул. Исправить ситуацию можно отредактировав раздел: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall.

Постоянно приходится указывать путь на дистрибутив Windows

Найдите раздел HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup и в параметре SourcePath укажите путь на ваш дистрибутив - строковое значение "D:\install". Если вы часто меняете настройки системы и у вас много места на диске - сбросьте дистрибутив в какой-либо каталог и пропишите его в SourcePath.

Проблемы с русским шрифтом в некоторых программах

Особенно это характерно на не русифицированных ОС, например Windows NT 4.0 Server. Даже если вы установили русифицированные фонты и в региональных установках указали Россию, проблемы с кириллическими шрифтами могут возникнуть. Откройте раздел HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\FontSubstitutes и пропишите параметры:

  • параметр System,0 значение System,204
  • параметр Courier,0 значение Courier,204
  • параметр Arial,0 значение Arial,204
  • параметр Courier New,0 значение Courier New,204
  • параметр Times New Roman,0 значение Times New Roman,204

Скорее всего зти параметры там уже есть, но вместо 204 стоит 238. Для Windows 9X такого раздела реестра нет и править надо секцию [FontSubstitutes] файла WINDOWS\win.ini. Может помочь также добавления в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage параметра "1252"="CP_1251.nls"

Снятие пароля с заставки (ScreenSaver)

Параметры рабочего стола для профиля по умолчанию задаются параметрами раздела реестра HKEY_USERS\.DEFAULT\Control Panel\Desktop. Параметры рабочего стола текущего пользователя - разделом реестра HKEY_CURRENT_USER\Control Panel\Desktop. Для снятия пароля с заставки для рабочего стола текущего пользователя нужно окрыть раздел реестра HKEY_CURRENT_USER\Control Panel\Desktop и установить значение ключа ScreenSaverIsSecure равным нулю. Для отключения заставки - установить в 0 значение ScreenSaveActive.

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

Это полезно тогда, когда требуется о чем-то предупредить пользователя. Раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon. Параметры:

  • LegalNoticeCaption=например, "Внимание!" - текст заголовка окна
  • LegalNoticeText="С 25-го по 30-е число каждого месяца необходимо сменить пароль" - текст в окне

Очистка имени предыдущего пользователя

Раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon DontDisplayLastUserName=dword:00000001.

Запрет на запуск редактора реестра и диспетчера задач

Для запрета запуска редактора реестра любого пользователя используется раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system

  • DisableRegistryTools=dword:00000001 - запрещено запускать
  • DisableRegistryTools=dword:00000000 - разрешено запускать
  • DisableTaskMgr=dword:00000001 - запрещено запускать
  • DisableTaskMgr=dword:00000000 - разрешено запускать

Для ограничения запуска редактора реестра и диспетчера задач текущего пользователя аналогичные значения устанавливаются в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

Обязательный ввод пароля в Windows 9X

Должен быть установлен клиент Microsoft Network. Воити в систему, нажав ESC теперь не удастся. Раздел HKEY_LOCAL_MACHINE\Network\Logon. Параметр MustBeValidated=dword:00000001.

Изменить поведение компьютера при выключении

Раздел HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Shutdown. Параметр FastReboot равен 0 - обычное выключение, равен 1 - ускоренное, приводящее часто к перезагрузке.

Автозапуск дисков

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDRom. Параметр Autorun - 0=отключено, 1=включено.

Изменение языка по умолчанию в окне входа в систему

Если в окне ввода пароля используется русская раскладка клавиатуры, то изменить это можно подредактировать раздел HKEY_USERS\.DEFAULT\Keyboard Layout\Preload. Он имеет 2 строковых параметра - "1" и "2". Если значения равны: 1=00000409, 2=00000419, то раскладка в окне входа в систему станет английской. Если значения параметрам присвоить наоборот (1=00000419, 2=00000409) - то раскладка станет русской.