1

UNC パスを指定して、ファイルをホストしている Active Directory サイトを取得したいと考えています。LDAP ツリーは大きく、複数のドメインとサブドメインが含まれています。私が行っていたのは、パスを解析してマシン名を取得することでした。そこから IP を取得し、AD にクエリを実行して、サブネットから IP 範囲を取得する AD サイトを取得します。これは、ターゲット サーバーが共有フォルダーを持つ単純な Windows コンピューターである限り、問題なく機能します。

ただし、DFS ドメイン ベースの共有で問題が発生しています。マシン名の取得は機能しません。取得しているのは DFS ドメイン コントローラーであり、毎回割り当てられるルート ターゲットに応じて IP が動的に変化する可能性があるためです。これを解決する方法がわかりません。JCIFSまたはその他のオプションを使用して、Active Directoryにクエリを実行し、何らかの方法でDFSサーバーから情報を取得するソリューションをいただければ幸いです。また、UNC パスが DFS 共有に属していることを特定できる方法があるかどうかも知りたいです。さらに複雑なことに、アプリケーションは Linux で Java を使用して実行されるため、Windows .NET DFS API を使用することはできません。

前もって感謝します。

4

1 に答える 1

1

この状況を解決する方法を見つけました。Active Directory から(LDAP 経由で) DFS 情報を取得できます。パスが \mydomain.foo.bar\folder1\folder2 の場合folder1、DFS サーバーです。その名前 (この場合) でタイプ「FT-Dfs」のオブジェクトを検索し、folder1そこから属性 remoteServerName を取得して、実際のパスを見つけることができます。唯一の制限であり、気付く前に頭痛の種になりました。グローバル カタログ サーバーから Active Directory にクエリを実行する場合、その属性を取得できないことです。そのオブジェクトを含む特定のサーバーにクエリを実行する必要があります (または、親からの参照に従う必要があります)。森林)。

于 2013-06-15T21:08:42.470 に答える