У меня есть настройка сети dev, смоделированная после производственной настройки на работе, и я смог успешно запросить Active Directory, когда я нахожусь в той же подсети и могу разрешить сервер. Теперь я пытаюсь настроить это там, где мне необходимо удаленно подключиться к терминальному серверу, который является единственным сервером, доступным через Интернет, и использовать это соединение для получения доступа к контроллеру домена только для внутреннего использования, где я могу затем выполнять свои запросы (все в C #). Возможно, лучшим способом объяснить это было бы то, что я пытаюсь превратить это RDP-соединение в своего рода сетевой мост, где я могу использовать внутренний адрес DC (такой как 192.168.1.1) через Интернет, когда я создаю свой Путь LDAP.
Правильно ли использовать RDP? Я нашел это в проекте кода, но, похоже, он предназначен для настройки удаленного рабочего стола, а не для предоставления мне доступа к внутреннему DC:
// RDP test
rdp.Server = "firewall";
rdp.UserName = "Administrator";
IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
secured.ClearTextPassword = "mypassword";
rdp.Connect();
string moo2 = rdp.UserName;
string moo = rdp.ProductName;
rdp.Disconnect();
Мой разработчик TS называется «брандмауэр», и оттуда я хочу иметь возможность выполнить код ниже для DC:
// Fire up the directory
DirectoryEntry ADRoot = new DirectoryEntry();
ADRoot.Username = "myusername";
ADRoot.Password = "mypassword";
ADRoot.Path = "LDAP://192.168.1.11";
// Search for all the computer objects
DirectorySearcher searcher = new DirectorySearcher();
searcher.Filter = "(&ObjectCategory=computer)";
searcher.SearchRoot = ADRoot;
SearchResultCollection results = searcher.FindAll();
Я за любой подход, который позволит мне подключиться к этому внутреннему DC через Интернет.