Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   C# Создание раздела/импорт файла в удаленный реестр (http://forum.oszone.net/showthread.php?t=131731)

Delirium 12-02-2009 02:51 1036055

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

Admiral 16-02-2009 01:25 1039640

Delirium, любым путём это Разное, а в тему с приставкой .NET боюсь будут заглядывать лишь знакомые с данной технологией участники. Ну да ладно, хватит мне умничать, :clever-ma пора браться за дело. :) Задача понятна, один из механизмов разработала само 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


Время: 13:16.

Время: 13:16.
© OSzone.net 2001-