Доступ к удаленному реестру Windows 7 и Server 2008 через C#

Я искал способ получить доступ к удаленному реестру компьютера в моей сети (домен не настроен), но несколько раз терпел неудачу.

Единственный способ, которым я могу успешно получить доступ, - это предварительно зайти в regedit и подключиться к нему через него (который попросит меня ввести пользователя и пароль), а затем попытаться сделать это в моей программе.

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

С уважением, Марко.


person Ima Geekah    schedule 02.08.2011    source источник


Ответы (1)


Вы должны установить сетевое соединение с соответствующими учетными данными. Конечно, сначала вручную выполнив удаленный реестр, это будет установлено, но если вы хотите установить это в коде, используйте этот класс.

Класс C# для установки сетевое подключение с учетными данными

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

person Rhyous    schedule 02.08.2011
comment
Как вы получаете доступ к реестру с этой точки? Это полностью отличается от того, что я делал, и не вижу, как это смешивать. Может быть, вы могли бы рассказать мне, как вы это делаете, чтобы я мог изменить свою часть кода? - person Ima Geekah; 04.08.2011
comment
Вы просто устанавливаете соединение с любым общим ресурсом, общим ресурсом C$ или IPC$, это просто аутентифицирует вас в системе. После аутентификации ваш уже существующий код, вероятно, использующий RegistryKey.OpenRemoteBaseKey, должен работать. - person Rhyous; 07.08.2011
comment
Я пошел дальше и сделал более полный пост: rhyous.com/2011/08/07/ - person Rhyous; 08.08.2011