.NET - C# Создание раздела/импорт файла в удаленный реестр

Ответить
Аватара пользователя
Delirium

.NET - C# Создание раздела/импорт файла в удаленный реестр

Сообщение Delirium »

Стоит задача: любым путем(программно, bat-файл, скрипт, как угодно, кроме ручного) либо записать значение в ветку удаленного реестра, либо импортировать туда уже готовый reg-файл(это было бы лучше). Удаленно могу подцепиться и прочитать значения нужной ветки, а вот записать пока не пойму как.

Задача в принципе такова - создать небольшую универсальную программку, которая будет устанавливать удаленно некоторые программы(как пример - Radmin). Копирование файлов на удаленную машину, удаленное создание службы, и прочее - это без проблем. Не могу именно записать/импортировать значения в нужные ветки.
Аватара пользователя
Admiral

Re: .NET - C# Создание раздела/импорт файла в удаленный реестр

Сообщение Admiral »

Delirium, любым путём это Разное, а в тему с приставкой .NET боюсь будут заглядывать лишь знакомые с данной технологией участники. Ну да ладно, хватит мне умничать, пора браться за дело. Изображение Задача понятна, один из механизмов разработала само MS - посредством службы Удаленный реестр (Remote Registry Service).

Требуемая Win32 API функция, для подключение к удалённому реестру
RegConnectRegistry
, располагается в библиотеке advapi32.dll
.

Код как удалось подцепить и прочитать значение нужной ветки стоило бы приводить, может кто не знает и почерпнёт и с вопроса знаний.

Если импортировать Win32 участки кода не охота, или данную службу в целях безопасности держать включённой не желательно (в основном те отзывы что попадаются про эту службу указывают что это брешь в системе, но иные так же есть -
Why run the RemoteRegistry Service?
), можно организовать взаимодействие как у Радмина, у которого классическая схема взаимодействия клиент-сервера.

Для этого я предлагаю ознакомится с примерами к книге
Practical .NET 2.0 Networking Projects


В этом случаи я бы пересылал бинарные данные reg файла, а уже на приёмной стороне, после сохранения, устраивал бы ему REGEDIT /S.

Вот ещё ссылка по теме
Howto: (Almost) Everything in WMI via C# - Part 1: Registry
Ответить

Вернуться в «Программирование и базы данных»