バインド文字列
ディレクトリサービスからアクセスできるオブジェクトの数が原因で、名前の競合が発生する可能性があります。 一般にADsPathと呼ばれるバインド文字列を使用すると、名前の競合を発生させることなく特定のオブジェクトを指定できます。 これは、1つのディレクトリサービスプロバイダーまたは複数のディレクトリサービスプロバイダーに適用できます。
ADsPathは、ディレクトリサービス上のADSIオブジェクトを一意に識別する文字列です。 ADSIオブジェクトは、基になるディレクトリサービスの名前空間のコンテキスト内に存在するため、ADsPath名の構文の一部はプロバイダー固有です。
次の表に、既定で提供されるADSIプロバイダーを示します。
プロバイダー | 説明 |
---|---|
WinNT |
Windowsドメインコントローラーとの通信に使用されます。 WinNT ADsPathの詳細については、 「WinNT ADsPath」 を参照してください。 |
LDAP |
Active DirectoryなどのLDAPサーバーとの通信に使用されます。 LDAP ADsPathの詳細については、 「LDAP ADsPath」 を参照してください。 |
ADs |
クライアントにインストールされているすべてのADSIプロバイダーを列挙するために使用できるIADsNamespaces実装を提供します。 |
これらのプロバイダー名を使用して、既定のプロバイダーの名前空間にアクセスします。 たとえば、LDAPにバインドする場合、ADSIは、現在ログオンしているドメインオブジェクトを含むコンテナーにバインドされます。 WinNTにバインドする場合、ADSIは、ネットワーク上のすべてのドメインに関連付けられているオブジェクトを保持するコンテナーにバインドされます。
ADsPath文字列の最初の要素は、ADSIプロバイダーのプログラム識別子 (progID) 、"://"、プロバイダーの名前空間によって指定された構文の順になります。 progID文字列は、プロバイダーによっては、大文字と小文字が区別される場合があります。 上記のプロバイダーのprogID文字列では、大文字と小文字が区別されます。
パス文字列は、プロバイダーによっては、大文字と小文字が区別される場合があります。 上記のプロバイダーのパス文字列では、大文字と小文字が区別されません。
ADsPathの例を次に示します。
LDAP://CN=Jeff Smith,CN=users,DC=fabrikam,DC=com
LDAP://server01/CN=Jeff Smith,CN=users,DC=fabrikam,DC=com
WinNT://MyDomain/ComputerName,Computer
WinNT://MyDomain/UserAccount
コンピューターにインストールされているすべてのプロバイダーを検索するには、次のコード例に示すように、ADsプロバイダーにバインドします。
Set x = GetObject("ADs:")
For Each provider In x
provider.Name
Next
LDAPプロバイダーを使用すると、ADsPathをCNタグで始まるX.500識別名 (DN) 形式で指定することも、Oタグで始まる逆階層形式で指定することもできます。 最初のADsPathで使用する形式によって、タグの順序が決まります。
次の表に、ADsPathの特殊文字の一覧を示します。
名前 | 文字 | 説明 |
---|---|---|
二重引用符 |
" |
文字列が文字どおりに解釈されるように、特殊文字を含む可能性があるADsPathの任意の部分を引用符で囲むために使用します。 たとえば、"CN=Name/Prefix"のようになります。 |
円記号 |
\ |
リテラルとして使用する必要があることを示すために、特殊文字の前に使用します。 特殊文字の詳細と一覧については、 「識別名」 を参照してください。 |
スラッシュ |
/ |
コンポーネントの区切り記号。 |
山かっこ |
<> |
別の名前付け規則内でADsPathを区切ります。 |
検索指定またはURLの一部としてADsPathを区切るには、左右の山かっこ(<>)を使用します。 たとえば、"<WinNT :// MyDomain/UserAccount>"のようになります。
ADSIプロバイダーによっては、名前空間の要件により構文の制限が追加されている場合があります。
Active Directoryのバインドオプション
Active Directoryには、COMグローバル一意識別子 (GUID) やセキュリティ識別子 (SID) など、他の種類のバインド文字列を使用してオブジェクトにバインドする機能が用意されています。 詳細については、 「Active Directoryへのバインド」 を参照してください。