Робота з реєстром з 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 (видалити параметр з реєстру). наприклад:
Set WshShell = CreateObject ( "WScript.Shell")
WshShell.RegWrite "HKEY_CLASSES_ROOT \ .MyTest \ Test", "Hello", "REG_SZ"
Як можна переконатися, все дуже просто. Однак якщо за допомогою Regread звернутися до неіснуючого розділу реєстру, виникне помилка. Бажано реалізувати просту обробку помилок:
On Error Resume Next
If Err.Number <> 0 Then
On Error Go To 0
Далі можна скористатися наявними можливостями цієї бібліотеки в скриптах:
o через об'єкт Registry - підключатися до реєстру локального або віддаленого комп'ютера в будь-якому місці;
o через об'єкт RegKey - повертати його ім'я, колекцію всіх подключей, колекцію значень і т.п.
o через об'єкт RegValue - працювати зі значеннями параметрів реєстру і т.п.
Тепер - найважливіше: а які параметри реєстру найчастіше доводиться правити адміністратору.
Офіційна довідка з реєстру - Resource Kit. regentry. chm. Обов'язково звірятися перед внесенням будь-яких змін.
Якщо проблеми з англійським - можна користуватися російської довідкою за реєстром, каталог Reg 3 на компакт-диску.
Русифікований довідник з можливістю зміни реєстру безпосередньо - 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 regdmp - дамп реєстру (наприклад, в файл);
o regfind - пошук по реєстру (імена параметрів, значення;
o regini - в Resource Kit і стандартному постачанні WIndows. Дозволяє вносити зміни в реєстр з командного рядка. Вміє керувати дозволу на гілки реєстру;
o regrest - відновлює резервні копії, створені regback (після відновлення буде потрібно перезавантаження);
o snareg - пошук в локальному і віддаленому реєстрі.