Удаленный реестр
Я знаю, что об этом говорили несколько раз об удаленном доступе к реестру, но я не могу найти хороших примеров того, как это реализовать.
Я нашел http://www.codeproject.com/KB/cs/cpimpersonation1.aspx котором, кажется, есть код, который будет делать то, что я хочу, однако, похоже, он подключается к тому же ПК, на котором запущено приложение. Я хочу подключиться к удаленному ПК в другом домене.
Я немного читал, но не могу понять, как изменить этот код для этого.
Любая помощь будет благодарна за то, как использовать код для подключения к удаленному компьютеру.
1 ответ
Вы можете начать с этой статьи: RegistryKey.OpenRemoteBaseKey. Но вашей учетной записи пользователя должно быть разрешено работать с реестром на этой удаленной машине! И олицетворение не лучший способ решить вашу задачу. LogonUser создает новый контекст безопасности на том компьютере, где он вызывается. Это означает, что пользователь с разрешениями на доступ к удаленному реестру также должен иметь разрешение на локальный вход. Это очень сильное требование.
Я предлагаю альтернативное решение: перед доступом к реестру вы можете использовать WNetAddConnection2 для создания подключения к общему ресурсу IPC$ на удаленном компьютере, используя учетные данные пользователя, обладающего соответствующими правами доступа к реестру. Не забудьте отменить соединение, когда закончите работу с реестром.