Возможности сервера сценария для работы с реестром

Лабораторная работа №3

Сервер сценариев WSH. Работа с реестром

Цель:Изучить структуру реестра Windows NT/2000, методы резервирования данных реестра, способности сервера сценариев по работе с реестром.

Общие положения

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

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

Реестр пришел на замену конфигурационным файлам (INI-файлам) и призван был снять неудобства и ограничения, связанные с их внедрением. В виде, более Возможности сервера сценария для работы с реестром либо наименее напоминающем его сегодняшнюю структуру, реестр появился в Windows NT 3.5 (тогда он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS). Новый компонент операционной системы был предназначен для того, чтоб поменять собой бессчетные инициализационные и установочные файлы, разбросанные по" разным каталогам на Возможности сервера сценария для работы с реестром жестком диске и сетевом сервере. Эти файлы требовались для обеспечения корректной работы операционной системы, приложений и аппаратных устройств, но управление ими было задачей сложной, трудозатратной и неловкой. Реестр как централизованная база данных представляет собой источник конфигурационной инфы, где все характеристики сведены воедино, что обеспечивает возможность действенного управления средой Возможности сервера сценария для работы с реестром Windows NT/2000. Перечисление компонент системы Windows NT/2000, использующих реестр, и короткое описание их взаимодействия с этой базой данных приведено ниже:

· Программки установки (Setup). Всякий раз при запуске программки установки Windows 2000 либо других установочных программ (для аппаратных и программных средств) программка. Setup добавляет в реестр новые конфигурационные данные. Начиная свою Возможности сервера сценария для работы с реестром работу, все хорошо разработанные программки установки считывают информацию реестра, чтоб найти, находятся ли в системе составляющие, неотклонимые для удачного окончания установки. В конце концов, централизованный реестр позволяет приложениям вместе использовать конфигурационную информацию и предоставляет им больше способностей взаимодействия меж собой. Чтоб приложение могло получить статус "Designed for Windows 2000", оно должно Возможности сервера сценария для работы с реестром интенсивно и верно использовать реестр, также содержать утилиту, позволяющую корректно выполнить удаление этого приложения (uninstall utility), не удаляя компонент, которые могут употребляться другими программками (.DLL, .OCX, и т. д.). Эта утилита употребляет информацию, лежащую в реестре.

· Распознаватель (Recognizer). Всякий раз при запуске компьютера под управлением Windows NT/2000 распознаватель аппаратных Возможности сервера сценария для работы с реестром средств (Hardware Recognizer) помещает в реестр перечень найденных им устройств. На компьютерах с микропроцессорами Intel определение аппаратных средств осуществляется программкой Ntdetect.com и ядром Windows NT/2000 (Ntoskrnl.exe).

· Ядро Windows NT/2000 (Windows NT/2000 Kernel). При старте системы ядро Windows NT/2000 извлекает из реестра сведения о загружаемых драйверах устройств и Возможности сервера сценария для работы с реестром порядке их загрузки. Не считая того, программка Ntoskrnl.exe передает в реестр информацию о для себя (примером таковой инфы может служить, к примеру, номер версии).

· Драйверы устройств. Драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Эти данные подобны строчкам device=, которые можно отыскать в Возможности сервера сценария для работы с реестром файле Config.sys для пуска компьютера под управлением MS-DOS. Драйвер устройства должен сказать об применяемых им системных ресурсах, включая аппаратные прерывания и каналы DMA, чтоб система могла включить эти данные в реестр. Приложения и драйверы устройств могут считывать эту информацию реестра, предоставляя юзерам умственные программки установки и конфигурирования Возможности сервера сценария для работы с реестром.

· Административные средства Windows 2000. Административные средства Windows 2000, в том числе утилиты панели управления и оснастки, собранные в группу Администрирование(Administrative Tools), представляют собой более комфортные и неопасные средства модификации реестра. Редакторы реестра, рассмотрению которых посвящен отдельный раздел данной главы, также полезны для его просмотра и, временами, для внесения конфигураций в конфигурацию системы Возможности сервера сценария для работы с реестром.

· Пользовательские профили (user profiles). Windows NT/2000 обеспечивает возможность сотворения огромного количества пользовательских профилей. Вся информация, относящаяся к определенному пользовательскому имени и ассоциированным с ним правам, хранится в реестре. Более подробная информация о пользовательских профилях будет приведена дальше в этой главе, тут же отметим, что пользовательский, профиль определяет личные Возможности сервера сценария для работы с реестром характеристики опции монитора, характеристики сетевых соединений, принтеры и почти все другое. Пользовательские профили бывают последующих типов: локальные (local user profile), создаваемые автоматом при первой регистрации юзера на локальном компьютере, перемещаемые (roaming user profile), создаваемые админом и хранящиеся на сервере, и неотклонимые (mandatory user profile)— перемещаемые профили, неотклонимые для внедрения Возможности сервера сценария для работы с реестром. Информация о пользовательских профилях также хранится в реестре.

· Аппаратные профили (hardware profiles). Реестр, в отличие от INI-файлов, позволяет хранить множественные аппаратные конфигурации. Так, к примеру, можно сделать профили для док-станций (что животрепещуще для юзеров портативных компов), также профили для съемных устройств. Аппаратный профиль представляет собой набор Возможности сервера сценария для работы с реестром инструкций, при помощи которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. В процессе установки Windows 2000 создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, найденных на компьютере на момент установки.

Структура реестра

Реестр Windows 2000 состоит из 5 так именуемых корневых разделов (root keys):

HKEY_CLASSES_ROOT, HKEY Возможности сервера сценария для работы с реестром_CURRENT_USER, HKEY_LOCAL_ MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.

Каждый раздел может содержать элементы данных, которые именуются параметрами (value entries), также вложенные разделы (subkeys). Для осознания этой концепции можно провести аналогию с файловой системой. Разделы в структуре реестра подобны каталогам, а важные элементы — файлам. Рис. 14.1 иллюстрирует иерархическую Возможности сервера сценария для работы с реестром структуру реестра Windows 2000. Все имена корневых разделов начинаются со строчки HKEY_, что показывает разработчикам программного обеспечения на то, что это — дескриптор, который может употребляться программкой. Дескриптор (handle) — это значение, применяемое для уникального описания ресурса, к которому программка может получить доступ. Описания корневых разделов реестра Windows NT Возможности сервера сценария для работы с реестром/2000 приведены в табл. 1.

Таблица 1.Корневые разделы реестра

Имя корневого раздела Описание
HKEY_LOCAL_MACHINE Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, применяемые при запуске системы. Информация, содержащаяся в этом разделе Возможности сервера сценария для работы с реестром, действует применительно ко веем юзерам, регистрирующимся в системе Windows NT/2000. На верхнем уровне иерархии реестра для этого раздела имеются три псевдонима: HKEY CLASSES ROOT, HKEY CURRENT CONFIG и HKEY_DYN_DATA
HKEY_CLASSES_ROOT Содержит ассоциации меж приложениями и типами файлов (по расширениям названии файла). Не считая того, этот раздел содержит информацию Возможности сервера сценария для работы с реестром OLE (Object Linking and Embedding), ассоциированную с объектами COM, также данные по ассоциациям файлов и классов (эквивалент реестра ранешних версий. Windows, служивших настройкой над MS-DOS). Характеристики этого раздела совпадают с параметрами, расположенными в разделе HKEY_LOCAL_MACHINE\Software\Classes.
HKEY_CURRENT_CONFIG Содержит конфигурационные данные для текущего Возможности сервера сценария для работы с реестром аппаратного профиля. Аппаратные профили представляют собой наборы конфигураций, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными разделов Software и System корневого раздела HKEY_LOCAL_MACHINE. В разделе HKEY_CURRENT_ CONFIG отражаются только конфигурации. Не считая того, характеристики этого раздела возникают также в разделе HKEY_LOCAL_MACHINE Возможности сервера сценария для работы с реестром\System \CurentControlSet\HardwareProfites\CuiTent
HKEY_CURRENT_USER Содержит, профиль юзера, на данный момент зарегистрировавшегося в системе, включая переменные окружения, настройку десктопа, характеристики опции сети, принтеров и приложений. Этот раздел представляет собой ссылку на раздел HKEY USERS\username, где username — имя юзера, зарегистрировавшегося в системе на текущий момент
HKEY_USERS Содержит все интенсивно Возможности сервера сценария для работы с реестром загруженные пользовательские профили, включая HKEY_CURRENT_USER, также профиль по умолчанию. Юзеры, получающие удаленный доступ к серверу, не имеют профилей, содержащихся в этом разделе; их профили загружаются в реестры на их собственных компьютерах. Windows NT/2000 просит наличия учетных записей для каждого юзера, регистрирующегося в системе. Раздел HKEY_USERS содержит Возможности сервера сценария для работы с реестром вложенный раздел \Default, также другие разделы, определяемые идентификатором безопасности (Security ID) каждого юзера

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

В табл. 2 перечислены, типы данных, определенные и Возможности сервера сценария для работы с реестром применяемые в системе.

Таблица 2.Типы данных для характеристик реестра

Тип данных Описание
REG_BINARY Двоичные данные. Большая часть аппаратных компонент употребляют информацию, которая хранится в виде двоичных данных. Редакторы реестра показывают эту информацию в шестнадцатеричном формате
REG_DWORD Данные представлены в виде значения, длина которого составляет 4 б. Этот тип данных Возможности сервера сценария для работы с реестром употребляют многие характеристики драйверов устройств и сервисов. Редакторы реестра могут показывать эти данные в двоичном, шестнадцатеричном и десятичном формате
REG_EXPAND_SZ Расширяемая строчка данных. Эта строчка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения
REG_MULTI_SZ Многострочное поле. Значения, которые Возможности сервера сценария для работы с реестром практически представляют собой списки текстовых строк в формате, комфортном для восприятия человеком, обычно имеют этот тип данных. Строчки разбиты эмблемой NULL
REG.SZ Текстовая строчка в формате, комфортном для восприятия человеком. Значениям, представляющим из себя описания компонент, обычно присваивается конкретно этот тип данных

Хранение данных реестра

В Windows NT/2000 элементы реестра Возможности сервера сценария для работы с реестром хранятся в виде атомарной структуры. Реестр разделяется на составные части, которые разработчики этой операционной системы окрестили кустиками, либо ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Кустик представляет собой дискретную совокупа разделов, вложенных разделов и характеристик, берущую начало в верхушке иерархии реестра. Отличие кустов от других групп разделов Возможности сервера сценария для работы с реестром заключается в том, что они являются неизменными компонентами реестра. Кустики не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким макаром, раздел HKEY_LOCAL_MACHINE \Hardware, который строится динамически распознавателем аппаратных средств при запуске Windows NT/2000, кустиком не является. Данные кустов реестра хранятся в Возможности сервера сценария для работы с реестром файлах, находящихся в каталогах %SystemRoot%\System32\Config и %SystemRoot%\Profiles\Username (Windows NT 4.0) и %SystemRoot%\System32\Config и %SystemDrive%\Documents and Settings\Username (Windows 2000).

Каждый кустик реестра Windows NT/2000 ассоциирован с набором стандартных файлов), В табл.3 перечислены стандартные кустики реестра Windows NT/2000 и поддерживающие их файлы.

Таблица 3.Стандартные файлы, обеспечивающие Возможности сервера сценария для работы с реестром поддержку кустов реестра Windows NT

Ветвь реестра Названия файлов
HKEY_LOCAL_MACHINE\SAM Sam, Sam. log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System. alt, System.log, System. sav
HKEY Возможности сервера сценария для работы с реестром_CURRENT_CONFIG System, System.alt, System.log, System. sav
HKEY_USERS\.DEFAULT Default, Default.log, Default.sav
(Файлы, не ассоциированные, с разделами) Userdiff, Userdiff.bg
HKEY_CURRENT_USER Ntuser.dat, Ntuser.dat.log

Все файлы кустов реестра, кроме HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%\System32\Cofig.

Поддержку кустика HKEY_CURRENT Возможности сервера сценария для работы с реестром_USER делают файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log выслеживает конфигурации, которые вносились в файл Ntuser.dat. В Windows NT 4.0 эти файлы размещаются во всех подкаталогах каталога %SystemRoot%\Profiles (кроме подкаталога \All Users). В Windows 2000 эти файлы Возможности сервера сценария для работы с реестром размещаются в каталогах % SystemDrive %\Documents and\Settings \%Username%.

Файлы Ntuser и Userdiff были в первый раз введены в Windows NT 4.0:

· файл Ntuser.dat, в каком хранится пользовательский профиль, поменял собой файлы usemamexxx и adminxxx из прошлых версий Windows NT;

· файл Ntuser.dat из каталога %SystemRoot%\Profiles\DefaultUser поменял Возможности сервера сценария для работы с реестром собой файл Userdef из прошлых версий Windows NT. Этот профиль употребляется для построения кустика HKEY_CURRENT_USER, когда новый юзер в первый раз регится в системе;

· файлы Userdiff, которые находятся исключительно в каталоге %SystemRoot% \System32\Config, не ассоциируются ни с одним кустиком. Они служат для обновления имеющихся профилей юзеров, использовавшихся в прошлых Возможности сервера сценария для работы с реестром версиях Windows NT, таким макаром, чтоб эти профили могли применяться в Windows NT 4.6 и следующих версиях (Windows 2000).

С кустиками ассоциируются файлы 4 типов. Все эти типы файлов (с надлежащими расширениями названий файлов) перечислены в табл.4.

Таблица 4.Типы файлов, ассоциированных с кустиками реестра Windows NT 4.0/Windows 2000

Тип файла Возможности сервера сценария для работы с реестром Описание
Без расширения названии файла Содержит копию кустика
alt Содержит запасную копию актуально принципиального кустика HKEY_LOCAL_MACHINE\System. Только раздел System имеет соответственный файл с расширением alt
log Содержит журнальчик транзакций, в котором регистрируются все конфигурации, внесенные в разделы и важные элементы кустика
sav Содержит копии файлов кустика в том виде Возможности сервера сценария для работы с реестром, который они имели на момент окончания текстовой фазы процесса установки. Файлы с расширением sav имеются для разделов Software, System, SAM, Security и Default. Windows NT/2000 делает запасное копирование содержимого кустов в процессе установки. Процедура установки состоит из 2-ух стадий: стадии текстового режима и стадии графического режима Возможности сервера сценария для работы с реестром. Когда установка в текстовом режиме заканчивается, производится копирование кустов в файлы с расширением sav. Это делается для того, чтоб защитить кустики от ошибок, которые могут произойти в случае сбоя на графической стадии установки. Если процедура установки даст сбой на графической стадии, то после перезагрузки компьютера будет выполняться повтор только графической Возможности сервера сценария для работы с реестром стадии установки. Sav-файлы употребляются для перестройки кустов реестра

1.3. Внедрение утилиты Reg

Утилита Reg.exe, входящая в набор утилит Windows 2000 Support Tools, позволяет добавлять, редактировать, удалять и находить разделы и важные элементы реестра, делать их запасное копирование и восстановление, также делать над ними другие операции. Утилита Reg может употребляться Возможности сервера сценария для работы с реестром из командной строчки либо применяться в командном файле. Она позволяет делать операции над реестрами как локального, так и удаленных компов.

Утилита Reg реализует многофункциональные способности последующих утилит для работы с реестром из прошлых версий Resource Kit: REGCHG.EXE, REGDELEXE, REGDIR.EXE, REGREAD.EXE, REGSEC.EXE, RESTKEY.EXE, RREGCHG.EXE, и SAVEKEY Возможности сервера сценария для работы с реестром.EXE. В Windows 2000 она замещает собой все эти утилиты.

Для запасного копирования и восстановления реестра употребляются последующие команды (типы операций) утилиты Reg:

REG SAVE и REG BACKUP

Эти команды копируют обозначенный элемент, раздел либо кустик реестра в обозначенный файл, очень полезны для запасного копирования частей реестра перед внесением конфигураций. Команда reg Возможности сервера сценария для работы с реестром save полностью схожа команде REG BACKUP.

Команда reg restore восстанавливает обозначенный весомый элемент, раздел либо кустик реестра из файла, сделанного при помощи команд reg save либо reg BACKUP.

Команды reg save и reg backup поддерживают последующий синтаксис:

REG SAVE RegistryPath FileName [\\Machine] REG BACKUP RegistryPath FileName Возможности сервера сценария для работы с реестром [\\Machine]

где:

RegistryPath — это путь к элементу либо разделу реестра в формате

[ROOTKEY\]Key.

При всем этом параметр rootkey показывает корневой раздел реестра, который содержит раздел, подлежащий сохранению (по дефлоту этот параметр получает значение HKEY_LOCAL_MACHINE).

Корневой раздел реестра может указываться в сокращенном формате, с внедрением одной из приведенных ниже Возможности сервера сценария для работы с реестром аббревиатур:

HKEY_LOCAL_MACHINE - HKLM

HKEY_CURRENT_USER - HKCU

HKEY_CLASSES_ROOT - HKCR

HKEY_CURRENT_CONFIGURATION - HKCC

Key — этот параметр показывает полный путь к разделу реестра, расположенному под корневым разделом, обозначенным параметром rootkey.

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

Machine — этот параметр показывает имя удаленного компьютера (по дефлоту употребляется локальный компьютер). При указании имен удаленных компов следует использовать имена UNC (к примеру: \\STATION1).

Примечание. На удаленных компьютерах доступны только разделы HKLM и Возможности сервера сценария для работы с реестром HKU.

Команда reg restore поддерживает последующий синтаксис:

REG RESTORE FileName KeyName [\\Machine]

где:

FileName — имя подлежащего восстановлению файла (без расширения). Файл, обозначенный этим параметром, должен быть сотворен командами reg save Либо REG BACKUP.

KeyName — имя раздела реестра в формате [ROOTKEY\]Key.

Key — полное имя раздела реестра, размещенного в разделе Возможности сервера сценария для работы с реестром rootkey.

Machine — имя удаленного компьютера в формате ONC (по дефлоту будет употребляться локальный компьютер).

Способности сервера сценария для работы с реестром

WSH предоставляет три способа для работы по редактированию реестра: для чтения, записи и удаления. Работа с ними очень ординарна, необходимо только указывать ключи для записи, чтения либо удаления.

Для Возможности сервера сценария для работы с реестром записи в реестр служит способ RegWrite.

Синтаксис:

object.RegWrite strName, anyValue [strType]

где:

object - объект WshShell

strName – ключ либо запись в реестре, куда делается запись

anyValue – записываемое значение

Необязательные характеристики:

strType – тип данных, в каких делается запись

RegRead – служит для чтения данных из реестра

Синтаксис:

object.RegRead(strName)

где

object - объект WshShell

strName – ключ либо запись для Возможности сервера сценария для работы с реестром чтения

RegDelete – служит для удаления данных из реестра

Синтаксис:

object.RegDelete(strName )

где:

object - объект WshShell

strName – ключ либо запись для удаления

Примечание. Когда после параметра strName, во всех способах стоит косая черта ("\"), то это предполагает ключ, а не запись.

'Пример работы с реестром на VBScript

set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell Возможности сервера сценария для работы с реестром.Popup "Создаем раздел"

WSHShell.RegWrite "HKCU\\MyRegKey\\", "Primer"

WSHShell.Popup "Создаем строковый параметр"

WSHShell.RegWrite "HKCU\\MyRegKey\\String", 1

WSHShell.Popup "Создаем параметр DWORD"

WSHShell.RegWrite "HKCU\\MyRegKey\\DWORD", 2, "REG_DWORD"

WSHShell.Popup "Создаем двоичный параметр"

WSHShell.RegWrite "HKCU\\MyRegKey\\Binary", 3, "REG_BINARY"

WSHShell.Popup "Удаляем все характеристики"

WSHShell.RegDelete Возможности сервера сценария для работы с реестром "HKCU\\MyRegKey\\String"

WSHShell.RegDelete "HKCU\\MyRegKey\\DWORD"

WSHShell.RegDelete "HKCU\\MyRegKey\\Binary"

WSHShell.Popup "Удаляем раздел"

WSHShell.RegDelete "HKCU\\MyRegKey\\"

Практическое задание

  1. Изучите структуру реестра при помощи утилиты Regedit. Запустить ее можно при помощи команды Запуск/Выполнить.
  2. Сделайте сценарий, выполняющий поиск данного юзером расширения файла в реестре. Если соответственный раздел в реестре Возможности сервера сценария для работы с реестром имеется, вывести его значение. Использовать обработку исключительных ситуаций.
  3. Ознакомьтесь с командами утилиты reg. Запустить ее можно в режиме командной строчки
  4. Сделайте сценарий, выполняющий пуск утилиты Reg и выполнение запасного копирование части реестра, содержащей последующие сведения (см. табл.5 и номер варианта). Сделать на десктопе ярлычек для пуска сценария. Выводить информацию Возможности сервера сценария для работы с реестром о том, какие сведения копируются, в какой файл. Использовать обработку исключительных ситуаций.

Таблица 5

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

Отчетдолжен содержать последующие сведения:


vozniknoveniya-chelovechestva-i-rol-truda-referat.html
vozniknoveniyu-v-kognitivnoj-sfere.html
vozobnovlenie-priostanovlennogo-predvaritelnogo-rassledovaniya.html