Доступ к удаленному реестру с локальными учетными данными (удаленного компьютера) в домене

Заголовок немного длинный, но я попытаюсь объяснить: Я пытаюсь подключиться с одной машины (которая подключена к домену) на другой компьютер, который также подключен к домену, но потерял supportedencryptiontypes кеберосов. дорожка: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Параметры

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

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

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

опубликует этот код, если потребуется, конечно.

Ответ 1

Я нашел хороший класс для этой цели здесь, в SO: fooobar.com/info/16410/...

Я быстро написал образец с этим классом:

...
using Microsoft.Win32;
using System.Net;
...

string hostName = 192.168.1.1;

using (new NetworkConnection(@"\\" + hostName + @"\admin$", new NetworkCredential(@"ad\administrator", "TopSecret")))
{
    using (RegistryKey remoteHklm = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, hostName))
    {
        using (RegistryKey serviceKey = remoteHklm.OpenSubKey("System\\CurrentControlSet\\Services", true))
        {
            if (serviceKey != null)
            {
                foreach (string key in serviceKey.GetSubKeyNames())
                {
                    Console.WriteLine(key);
                }
            }
        }

    }
}