![]() |
Переименование веток реестра
Добрый день всем.
Помогите, пожалуйста, решить вот такую задачку. Есть ветка реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList В ней находятся разделы с именами вида S-1-5-21-191804846-4127745346-670726253-1007 и параметрами внутри этих разделов. Иногда случаются проблемы, особенно после отключения электричества (это не лечится), когда пользователь не может зайти на сервер. Тогда и появляются разделы с именами вида S-1-5-21-191804846-4127745346-670726253-1007.bak Необходимо разделы вида S-1-5-21-191804846-4127745346-670726253-1007 у которых есть "клоны" S-1-5-21-191804846-4127745346-670726253-1007.bak удалить, а S-1-5-21-191804846-4127745346-670726253-1007.bak переименовать в S-1-5-21-191804846-4127745346-670726253-1007 и во всех переименованных разделах параметрам RefCount и State присвоить значение 0. Помогите плиз, это случается довольно часто, а профилей несколько сотен. Мучает сильно. Спасибо. |
Если случается часто — купите ИБП.
|
Спасибо за совет, конечно-же ИБП есть. Только запас батарей, к сожалению, не бесконечный.
|
Смените электрика.
|
Поверьте, тему с электричеством не решить, это не зависит, ни от электрика, ни от ИБП. Лучше попробовать решить текущую задачу.
|
Поверьте и Вы, что нет функции переименования раздела реестра: Registry Functions (Windows). Возможный путь замены — копирование раздела реестра с новым именем и последующее удаление раздела реестра со старым именем.
Ваш подход как к постановке задачи, так к выбору пути её решения — мне лично не интересен. Сожалею, я пас. |
Я знаю, что переименование раздела невозможно и надо искать другие пути решения. Я перечитал все, что связано с этим. Мне не хватает знаний и опыта связать воедино несколько скриптов, которые есть на этом форуме. Поэтому и прошу помощи.
Объект, где находится сервер, расположен в 80 км от Кишинева. Деревенская подстанция древняя, как какашки мамонта. Говорить о ее замене не с кем. Поставщик услуг отмахивается и просит больших денег. За постановку задачи простите, пишу как умею. Выбор пути решения - так решения еще нет, из чего выбирать-то? Я, пожалуй, вист. |
Цитата:
А так без заготовок это больно геморно... |
Roland1313, да понятно, что Вам задача ставится «сверху» в виде «шоб було — и точка!».
|
Примерный алгоритм, как мне кажется, может быть таким:
1. Экспорт в reg-файл ветки реестра 2. Дальше работаем с reg-файлом 3. Из reg-файла строки вида [HKEY_LOCAL_MACHINE\SYSTEM\Test\Test2.bak] удаляем. В новый reg-файл (или в конец этого файла) переносим эти строки, но с минусом [-HKEY_LOCAL_MACHINE\SYSTEM\Test\Test2.bak] 4. Т. о. должно получиться что-то 5. Выполнив отредактированный reg-файл получим то, что надо. |
В общем, всем большое спасибо за поддержку и советы. Сделал сам. Алгоритм описан выше.
Код:
fName = "test.reg" ' Где текстовый файл |
Время: 20:44. |
Время: 20:44.
© OSzone.net 2001-