PrincipalContextを使用してActive Directoryサービス経由でドメインコンポーネントを検索しようとしています。PrincipalContextからドメインコンポーネントを検索
私は非常にいくつかのパラメータを使用してPrincipalContextを作成しました:
PrincipalContext theContext = new PrincipalContext(ContextType.Domain);
theContextが正しく戻って来ています。私はそれについて多くのことを照会し、期待される結果を得ることができます。しかし、私が本当にやりたいことと等価である:
Console.WriteLine("Domain Component: " + theContext.Container);
は、MSDNによると、これだけでは「コンストラクタでコンテナのパラメータで指定した値を取得します。」私は何も通らなかったので、私は何も戻ってきていない。
しかし理論的なコンテナには、使用または作成する必要のある識別名に必要なドメインコンポーネントがあります。私はそこにいることがわかっている組織単位で新しいユーザーを作成しようとしています。しかし、私はドメインコンポーネントを知らないので、私は識別名を作成することはできません。私は相対的な道筋を見ていません。
私が考えた最良の選択肢は、任意のユーザーの検索を行い、その識別名を取得して "dc"部分を切り落とすことです。
var searchUser = new UserPrincipal(theContext);
var searcher = new PrincipalSearcher(searchUser);
Principal aUser = searcher.FindOne();
if (aUser != null)
{
string dn = aUser.DistinguishedName;
Console.WriteLine(dn.Substring(dn.IndexOf("dc=", StringComparison.InvariantCultureIgnoreCase)));
}
これは貧弱なハックのようです。あまりにも多くが間違って行くことができる私はもっと良いものがあることを望んでいる。誰にもアイデアはありますか?
使用してそれを得ることができる方法です。ありがとう。 –