2012-03-06 8 views
3

ドメイン内のすべてのDC(現在のユーザーまたはコンピュータがメンバーであり、同じフォレスト内にない)を列挙したいと思います。 c#Howtoは異なるドメインのDCを列挙します

は私が私がリモート は、右のドメインコンテキストを取得するために接続を行う方法を見つけ出すことができなかった、

​​

しかしこの素敵な方法を見つけました。うまく機能

DirectoryEntry child = new DirectoryEntry("LDAP://" + server + "/" + objectDn, userName, password); 
を経由して接続

。しかし、私はこれを一緒にする方法はありません。

+0

解決策はすでにSOで明記されていますhttp://stackoverflow.com/questions/323608/how-to-get-list-of-all-domains-in-active-directory-using-c-sharpドメインドメイン= Domain.GetDomain(新しいDirectoryContext(DirectoryContextType.Domain、 "yourDomain"、 "username"、 "password")); – Krishna

+0

ほぼ。しかし、これは要求を実行すべき場所にIPアドレスを渡すことを許しません!同じフォレスト内にドメインが必要です。 – Stef

+0

タイプをdirectoryserverに変更するだけです。ご質問のポイントが不明な場合は、ごめんなさい。System.DirectoryServices.ActiveDirectory.DirectoryContext dc = new DirectoryContext(DirectoryContextType.DirectoryServer、 ""、 "your username"、 "pwd") ; – Krishna

答えて

6
using System.DirectoryServices.ActiveDirectory; 

...
....私にとって

DirectoryContext dc = new DirectoryContext(DirectoryContextType.DirectoryServer, "ip", "user", "pwd"); //change parameters here 
Forest forest = Forest.GetForest(dc);  
Console.WriteLine(forest.Domains.Count); 

上記の作品は、私は明らかにネットワーク管理者アカウントを使用してテストしてい

(正しいドメイン数を示します)。これが役に立てば幸いです

+0

素晴らしい作品です。ありがとうございます。私は、代わりに、domaincontextの代わりにドメインストレイグを取得するために少し修正しました。 – Stef

関連する問題