J'ai une configuration de réseau de développement modélisée après une installation de production au travail, et j'ai pu interroger Active Directory quand je suis dans le même sous-réseau et peut résoudre le serveur. Maintenant, j'essaye de mettre en place là où je suis requis pour me connecter à un serveur Terminal Server, qui est le seul serveur accessible sur Internet, et utiliser cette connexion pour accéder à un contrôleur de domaine interne seulement où je peux ensuite exécuter mes requêtes (tout en C#). Peut-être une meilleure façon d'expliquer cela serait que j'essaie de transformer cette connexion RDP en un pont de réseau, où je peux utiliser l'adresse interne du DC (comme 192.168.1.1) à partir d'Internet lorsque je crée mon Chemin LDAP.Comment RDP dans un Terminal Server ALORS accéder à Active Directory sur un DC interne uniquement
Est-ce que RDP est la bonne chose à utiliser? J'ai trouvé hors du projet de code, mais il semble être la mise en place d'un bureau à distance au lieu de me permettre l'accès au DC interne:
// 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();
Mon dev TS est appelé « pare-feu », et de là Je veux être en mesure d'exécuter le code ci-dessous contre le 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();
Je suis pour à peu près toute approche qui me permettra de frapper ce DC interne de sur Internet.