Удаленный реестр

Я знаю, что об удаленном доступе к реестру уже несколько раз говорилось, но я не могу найти хороших примеров того, как это реализовать.

Я нашел http://www.codeproject.com/KB/cs/cpimpersonation1.aspx который, кажется, имеет код, который будет делать то, что я хочу, однако, похоже, он подключается к тому же компьютеру, с которого запущено приложение. Я хочу подключиться к удаленному ПК в другом домене.

Я немного читал, но не могу понять, как изменить этот код для этого.

Будем признательны за любую помощь в том, как использовать код для подключения к удаленному компьютеру.


person Andy12    schedule 06.06.2011    source источник
comment
Повторяющийся вопрос - см. мой ответ на stackoverflow.com/questions/4330065/   -  person vapcguy    schedule 23.02.2017


Ответы (1)


Вы можете начать с этой статьи: RegistryKey.OpenRemoteBaseKey. Но вашей учетной записи пользователя должно быть разрешено работать с реестром на этой удаленной машине! И олицетворение — не лучший способ решить вашу задачу. LogonUser создает новый контекст безопасности на том компьютере, где он вызывается. Это означает, что пользователь с разрешениями на доступ к удаленному реестру также должен иметь разрешение на локальный вход в систему. Это очень сильное требование.

Я предлагаю альтернативное решение: перед доступом к реестру вы можете использовать WNetAddConnection2 для создания подключения к общему ресурсу IPC$ на удаленном компьютере с использованием учетных данных пользователя, имеющего соответствующие права для доступа к реестру. Не забудьте отменить соединение, когда закончите работу с реестром.

person Andriy Shvydky    schedule 06.06.2011
comment
Статья, на которую я ссылаюсь, посвящена олицетворению учетной записи пользователя. У моего аккаунта нет прав на редактирование рег на удаленном домене, поэтому я хочу войти как пользователь домена, у которого есть права. - person Andy12; 06.06.2011