2010-12-29 7 views
9

会社のサーバーのActive Directoryにアクセスしたいので、簡単な電話帳プログラムを作成できます。私はレコードセットをつかむためにLDAPに接続する必要があるようです。とにかく、LDAP URLがOutlookの設定やプロパティに基づいているかどうかを判断する必要はありますか?LDAP URLを検索しますか?

これらのLdapフィールドを理解して値を入力するのに役立つ人がいますか。

おかげ

alt text

+1

どれくらい知っておく必要があるか分かりません。私はまたあなたが使っているツールの種類を知らない。ここに各フィールドの簡単な説明があります。 URIは、LDAPサーバーを見つけることです。通常、それはldap://yourdc.yourdomain.comでなければなりません。あなたのワークステーションのADでyourdcを見つける方法については私の答えを見てください。マネージャDNは、LDAPサーバーへのログオンに使用するユーザーアカウントである必要があります。各ユーザーアカウントには、LDAPサーバー上のオブジェクトがあります。各オブジェクトには識別名(DN)があります。 LDAPブラウザまたはADSIeditを使用して、ユーザーアカウントのDNを調べる必要があります。私はあまりにも長いコメントを書くことができません –

答えて

17

私はあなたがVBAを書いていると仮定しています。 Outlookでは、ADOを使用してLDAPプロバイダに対してクエリを行うことができます。クエリは、4つの部分

  1. ベースパス
  2. 検索フィルタレコード
  3. 検索範囲に返さ
  4. 属性で構成されています。

あなたが意味するLDAP URLは、実際にはLDAPクエリの基本パスです。 ADSIeditを使用して、ローカルドメインの基本パスを取得できます。通常、ドメインがabc.comと呼ばれる場合、基本パスはLDAP://abc.com/DC=abc,DC=comのようになります。しかし、必ずしもそうではありません。 Active Directoryでは、Active Directoryドメインの名前をDNSドメインとは異なる名前にすることができますが、ほとんどの場合でも同じです。この構成はdisjoint namespaceと呼ばれます。

disjoint namespaceの場合、正しいベースパスを見つけるには、Windows 2003 support toolsからADSIeditをインストールします。コマンドラインでadsiedit.mscと入力してADSIEditを起動します。 ADSIEditノードを右クリックし、[接続先]をクリックします。次に、ネーミングコンテキスト "RootDSE"を選択し、他のすべての設定をデフォルトのままにしてローカルドメインに接続します。既にドメインに参加しているマシンの場合は、そのドメインに自動的に接続する必要があります。一番上のRootDSEノードには、今接続しているドメインコントローラも表示されます。接続されているドメインコントローラのFQDNをマークします。 dc1.yourdomain.comのようなものでなければなりません。次に、「RootDSE」ノードを展開すると、下に別の「RootDSE」フォルダノードが表示されます。右クリックしてプロパティをクリックします。 defaultNamingContextを探します。 DC = yourdomain、DC = comのようなものでなければなりません。ドメインコントローラ名とデフォルトのネーミングコンテキストで

、あなたのベースパスを作成することができ、それがLDAPでなければなりません:// ドメインコントローラ/デフォルトのネーミングコンテキスト

時にはあなたが見ますLDAPベースパスにドメインコントローラ名の代わりにFQDNドメイン名を入れている人。ドメインのAレコードがDNSサーバー上に存在する場合のみ、これは正当です。私はドメイン名の使用をお勧めしません。ただし、特定のドメインコントローラを指定したくない場合は、サーバーレスバインディングを使用することを検討できます。 LDAP:// デフォルトの名前付けコンテキストこれはActive Directoryの機能です。他のLDAPサーバーでは動作しません。サーバーレスバインディングは、ドメインユーザーとして実行している場合にのみ使用できます。 serverless bindingを使用すると、LDAPクエリはサイトの次の使用可能なドメインコントローラを選択します。このようにして、要求に合わせてサーバーをオーバーロードする可能性を減らします。ただし、データが1つのドメインコントローラから別のドメインコントローラにまだレプリケートされていないことがあるため、結果が予測できなくなります。

あなたのドメインのすべてのユーザーを検索することを前提としているため、ドメインネーミングコンテキストを検索ベースパスとして使用することをおすすめします。他のコンテナをいつでもベースパスとして選択できます。たとえば、LDAP://ドメイン/CN=Users,DC=yourdomain,DC=comです。その後、検索はドメイン内のユーザーコンテナの下でのみ行われます。

+0

それは本当に素晴らしい答えです! – geoffc

+0

ニース記載の解決策。さまざまなシナリオを網羅しています。他の多くのユーザーにはうってつけです。 – NaV

+0

H @ rvey、上記の私のコメントについて私に説明してもらえますか?どうもありがとう。 – NaV

2

ハーヴェイの回答に基づいて、Windows 7コンピュータでこれを行う必要がある場合は、Remote Server Administration Tools for Windows 7 with Service Pack 1 (SP1)が必要になります。

[スタート]メニューを開くと、右側に[管理ツール]というメニューが表示されます。もしそうなら、その中に「ADSI Edit」がなければなりません。

メニューは利用できない、またはADSI編集メニューにない場合は、Windowsのヘルプから、以下の(注釈付き)の指示に従う場合:

[スタート]をクリックし、[コントロールパネル]をクリックし、[プログラム]をクリックします。

[プログラムと機能]領域で、[Windowsの機能を有効または無効にする]をクリックします。

[ユーザーアカウント制御]で[Windowsの機能]ダイアログボックスを開くように求められたら、[続行]をクリックします。

[Windowsの機能]ダイアログボックスで、[リモートサーバー管理ツール]を展開します。

インストールするリモート管理ツール(役割管理ツール> AD DSおよびAD LDSツール> AD DSツール> Active Directory管理センター)を選択し、[OK]をクリックします。

管理ツールのショートカットが表示されていない場合は、[スタート]メニューを設定して表示します。

[スタート]を右クリックし、[プロパティ]をクリックします。

[スタートメニュー]タブで、[カスタマイズ]をクリックします。

[スタートメニューのカスタマイズ]ダイアログボックスで、[システム管理ツール]までスクロールし、[すべてのプログラム]メニューと[スタート]メニューの[表示]を選択します。 [OK]をクリックします。

Windows 7のリモートサーバー管理ツール(ADSI Editを含む)によってインストールされたスナップインのショートカットは、[スタート]メニューの[管理ツール]リストに追加されます。

4

代替高速検索は、Windowsからnslookupを実行することです - これはあなたのデフォルトサーバを与えるべき

を実行します。 詳細はこちらをご覧ください:

https://serverfault.com/questions/78089/find-name-of-active-directory-domain-controller

あなたはそれが正しいことを確認するために、ADエクスプローラ(http://technet.microsoft.com/en-ca/sysinternals/bb963907.aspx)と接続することができます。

関連する問題