Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

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

Работа с реестром из VBScript, объекты WshShell и RegObj.Registry, методы RegRead(), RegWrite(), RegDelete(), файл regentry.chm из Resource Kit

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

1) можно получить полную информацию о настройках операционной системы (включая информацию об оборудовании)

2) можно настроить подавляющее большинство параметров работы самой операционной системы и установленных приложений.

Работа с реестром в WSH производится:

o       базовые возможности - через объект WScript.Shell

o       дополнительные возможности - через объект RegObj.Registry.

Вначале - про базовые возможности, реализованные через WScript.Shell.

Функциональность работы с реестром обеспечивается через три метода: RegRead (считать информацию из реестра), RegWrite (записать параметр в реестр) и RegDelete (удалить параметр из реестра). Например:

Dim WshShell

Set WshShell = CreateObject("WScript.Shell")

WshShell.RegWrite "HKEY_CLASSES_ROOT\.MyTest\Test", "Hello", "REG_SZ"

sReg = WshShell.RegRead("HKEY_CLASSES_ROOT\.MyTest\Test")

MsgBox sReg

WshShell.RegDelete("HKEY_CLASSES_ROOT\.MyTest\Test")

Как можно убедиться, все очень просто. Однако если при помощи Regread обратиться к несуществующему разделу реестра, возникнет ошибка. Желательно реализовать простую обработку ошибок:

Function KeyExists(key)

            Dim key2

            On Error Resume Next

            key2 = WshShell.RegRead(key)

            If Err.Number <> 0 Then

                        KeyExists = False

            Else

                        KeyExists = True

            End If

            On Error Go To 0

End Function

Теперь - о возможностях Regobj.dll. Библиотека многоплатформенная (от Windows 95 до Windows XP), однако она не поставляется вместе с операционными системами, нужно скачивать отдельно с Web-сайта Microsoft (помещена на компакт-диск к курсу). Чтобы иметь возможность использовать, рекомендуется скопировать на компьютер (рекомендуется в System32 в NT/2000 или System в 95/98/ME) и зарегистрировать в реестре:

regsvr32 regobj.dll

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

o       через объект Registry - подключаться к реестру локального или удаленного компьютера в любом месте;

o       через объект RegKey - возвращать его имя, коллекцию всех подключей, коллекцию значений и т.п.

o       через объект RegValue - работать со значениями параметров реестра и т.п.

Теперь - самое важное: а какие параметры реестра чаще всего приходится править администратору.

Официальная справка по реестру - Resource Kit, regentry.chm. Обязательно сверяться перед внесением каких-либо изменений.

Если проблемы с английским - можно пользоваться русской справкой по реестру, каталог Reg3 на компакт-диске.

Русифицированный справочник с возможностью изменения реестра напрямую - Strasty.

Очень многое относительно параметров ресстра для настройки операционной системы и ее компонентов можно почерпнуть из справочника по групповым политикам из Resource Kit (файл gp.chm).

Однако удобнее всего (если есть возможность изменить настройки через графический интерфейс Windows, утилиты типа TweakUI или пользовательские приложения) просто отследить, какие изменения вносятся в реестр. Для этой цели можно использовать утилиту ntregmon (на компакте) - показывает изменения в реестр в реальном времени или (гораздо удобнее) утилиту regsnap.

Как работать при помощи regsnap:

1) создаем слепок реестра перед внесением изменений через графический интерфейс

2) вносим изменения

3) создаем второй слепок - после внесения изменений

4) даем команду Compare и генерируем скрипты .reg на повтор изменений (REDO) и отмену изменений (UNDO).

5) очищаем скрипты от того, что к делу не относится и используем:

o       как источник для внесения изменений через WScript.Shell

o       напрямую при помощи regini.

Некоторые утилиты Resource Kit для работы с реестром:

o       srvany - сделать любое приложение Windows службой (внести о нем соответствующие записи в реестр);

o       delsrv - выполнить обратную операцию - удалить записи о службе из реестра;

o       dureg - узнать размер всего реестра или какой-либо ветви;

o       regback - резервное копирование из командной строки;

o       regdmp - дамп реестра (например, в файл);

o       regfind - поиск по реестру (имена параметров, значения;

o       regini - в Resource Kit и стандартной поставке WIndows. Позволяет вносить изменения в реестр из командной строки. Умеет править разрешения на ветви реестра;

o       regrest - восстанавливает резервные копии, созданные regback (после восстановления потребуется перезагрузка);

o       snareg - поиск в локальном и удаленном реестре.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru