Share via


アドレス帳サービスの管理

 

トピックの最終更新日: 2012-04-04

アドレス帳サービスは、Microsoft Lync Server 2010Enterprise Edition サーバーまたは Standard Edition サーバーの展開の一環として、既定でインストールされます。 アドレス帳サービスで使用するデータベース (RTCab および RTCab1) は SQL Server (Enterprise Edition サーバーの場合はバック エンドの SQL Server、Standard Edition サーバーの場合は併置されている SQL Server) 上に作成されます。

アドレス帳サーバーの電話番号正規化

Lync Server 2010 では、標準の RFC 3966/E.164 電話番号が必要です。体系に沿っていない形式や一貫性のない形式の電話番号を使用するには、Lync Server では、アドレス帳サーバーを利用して電話番号を前処理してから正規化ルールに渡します。アドレス帳から電話番号が使用され、正規化ルールが適用されると、クライアント (Microsoft Lync 2010、Microsoft Lync 2010 Phone Edition、Microsoft Lync 2010 Mobile など) で、これらの正規化された番号を使用できます。

新しいアドレス帳の機能」の説明のとおり、以前のバージョンで使用されていた正規化ルールは、いくつかの調整を行わなければ適切に動作しない場合があります。空白文字や不要な文字は正規化ルールの前に削除されるため、特にダッシュや削除された文字を正規表現で検索している場合、正規化ルールがエラーになることがあります。こういった不要な文字を検索していないことと、ルールの想定の場所に文字が存在しない場合にルールが問題なくエラーになって続行するよう、正規化ルールを確認する必要があります。

ユーザー レプリケーターとアドレス帳サーバー

アドレス帳サーバーは、ユーザー レプリケーターが提供するデータを使用して、グローバル アドレス一覧 (GAL) から最初に取得する情報を更新します。 ユーザー レプリケーターは、各ユーザー、連絡先、およびグループの Active Directory ドメイン サービス (AD DS) 属性をデータベース内の AbUserEntry テーブルに書き込み、アドレス帳サーバーはデータベースのユーザー データを、アドレス帳サーバーのファイル ストア内のファイルと、アドレス帳データベース RTCab または RTCab1 に同期します。 AbUserEntry テーブルのスキーマは、UserGuid および UserData の 2 つの列を使用します。 UserGuid はインデックス列で、Active Directory オブジェクトの 16 バイトの GUID を格納します。 UserData はイメージ列で、その連絡先の前述の Active Directory ドメイン サービス (AD DS) 属性をすべて格納します。

ユーザー レプリケーターは、AbUserEntry テーブルと同じ SQL Server ベースのインスタンス内にある構成テーブルを読み取って、どの Active Directory 属性を書き込むかを決定します。 AbAttribute テーブルには、ID名前フラグ の 3 つの列があります。 このテーブルはデータベースのセットアップ中に作成されます。 AbAttribute テーブルが空の場合、ユーザー レプリケーターはその AbUserEntry テーブル処理ロジックをスキップします。 アドレス帳サーバーの属性は動的で、AbAttribute テーブルから取得され、アドレス帳サーバーがアクティブ化される際、アドレス帳サーバーによって最初に書き込まれます。

アドレス帳サーバーのアクティブ化により、Lync Server のサポートに必要な値が AbAttribute テーブルに書き込まれます。 次の表にそれらの現在の値を示します。

ID 名前 フラグ

1

givenName

0x01400000

2

Sn

0x02400000

3

displayName

0x03420000

4

Title

0x04000000

5

mailNickname

0x05400000

6

Company

0x06000000

7

physicalDeliveryOfficeName

0x07000000

8

msRTCSIP-PrimaryUserAddress

0x08520C00

9

telephoneNumber

0x09022800

10

homePhone

0x0A302800

11

Mobile

0x0B622800

12

otherTelephone

0x0C302000

13

ipPhone

0x0D302000

14

Mail

0x0E500000

15

groupType

0x0F010800

16

Department

0x10000000

17

Description

0x11000100

18

Manager

0x12040001

19

proxyAddress

0x00500105

20

msExchHideFromAddressLists

0xFF000003

99

entryID

0x99000000

ID 列の数字は一意である必要があり、再利用は一切できません。 また、ID の値を 256 未満に保つことで、アドレス帳サーバーにより書き込まれる出力ファイルの領域を確保します。 しかしながら、最大 ID 値は 65535 です。名前 列は、ユーザー レプリケーターによって連絡先ごとの AbUserEntry テーブル内に配置される Active Directory 属性名に対応しています。 フラグ 列の値は、属性の種類の定義に使用されます。 次の種類のアドレス帳サーバー属性はユーザー レプリケーターにより認識され、フラグ 列の値の低バイト数で示されます。

属性 説明

0x0

文字列属性です。 ユーザー レプリケーターは、AbUserEntry テーブルに格納する前に、この型を UTF-8 文字列に変換します。

0x1

バイナリ属性です。 ユーザー レプリケーターは、これを変換することなく BLOB に格納します

0x2

文字列属性です。ただし、属性値が "tel:" で始まる場合のみ含まれます。 これは主に複数値の文字列属性、特に proxyAddresses 用です。 この場合、アドレス帳サーバーは "tel:" で始まる proxyAddresses エントリのみに関係します。 したがって、領域を確保するため、ユーザー レプリケーターは "tel:" で始まるエントリのみを格納します。

0x3

ブール値の文字列属性です。TRUE の場合、ユーザー レプリケーターはこの連絡先を AbUserEntry テーブルに含めません。 FALSE の場合、ユーザー レプリケーターはこの連絡先の属性を AbUserEntry テーブルに含めますが、このフラグを持つ特定の属性は含めません。 これは、主に msExchHideFromAddressLists 属性用である、もう 1 つの特例の型です。

0x4

文字列属性です。ただし、属性値が "smtp:" で始まる場合のみ含まれます。 これには、"@" 記号が含まれます。

0x5

文字列属性です。ただし、属性値が "tel:" または "smtp:" で始まる場合のみ含まれます。これには、"@" 記号が含まれます。

0x100

設定されている場合、これは各連絡先で複数回出現可能な複数値の属性です。

0x400

設定されている場合、これは連絡先の電子メール ユーザー アカウント名の属性を示します。 アドレス帳サーバーはこのフラグを使用して、電話正規化イベント ログのエントリに表示する属性値を特定します。

0x800

設定されている場合、これは連絡先の必須属性を示します。 アドレス帳サーバーは、Active Directory にこの属性の値がある場合のみ、ユーザーを AbUserEntry テーブルに含めます。 必須属性が複数ある場合、ユーザーを AbUserEntry テーブルに含めるには、その中の 1 つのみに値があることが必要です。

0x1000

設定されている場合、アドレス帳サーバーはこの属性の値を常に正規化します。

0x2000

設定されている場合、アドレス帳サーバーは UseNormalizationRules CMS 設定が FALSE の場合は proxyAddresses からの正規化された番号を使用し、それ以外の場合はフラグ ビットが 0x1000 のときと同じように動作します。

0x4000

設定されている場合、アドレス帳サーバーは、指定された属性にこの値を持つオブジェクトを AbUserEntry テーブルに含めません。 たとえば、msRTCSIP-PrimaryUserAddress 属性がこのフラグ ビット セットを持つ場合、この属性を持つ連絡先はデータベースに書き込まれません。

0x8000

設定されている場合、アドレス帳サーバーは、指定された属性にこの値を持たないオブジェクトを AbUserEntry テーブルに含めません。 0x4000 と 0x8000 の両方のフラグ ビットがオブジェクトに対して設定されている場合は、0x4000 に設定されたフラグ ビット値を持つ属性が優先され、オブジェクトは AbUserEntry テーブルから除外されます。

0x10000

設定されている場合、これはグループ オブジェクトを表します。 ユーザー レプリケーターはこのフラグ ビットを使用して、その存在がグループを示すgroupType 属性を持つ連絡先を含めます (例: 配布リストまたはセキュリティ グループ)。

0x20000

設定されている場合、ユーザー レプリケーターはこのフラグ ビットを使用して、デバイス固有のアドレス帳サーバー ファイル (つまり, .dabs の拡張子を持つファイル) にこの属性を含めます。

アドレス帳のフィルター処理

アドレス帳サーバー ファイルに追加されるユーザーは、AbAttribute テーブルの一覧にある特定の Active Directory ドメイン サービス (AD DS) 属性に基づいて制御できます。 そのようなフィルター処理に使用される属性の 1 つは、msExchangeHideFromAddressBook 属性です。 これは、Exchange スキーマによって追加されるユーザー属性です。 この属性の値が TRUE に設定されている場合、Exchange Server はこの属性を使用し、Outlook のグローバル アドレス一覧 (GAL) で連絡先を非表示にします。 同様に、この属性の値が TRUE の場合、ユーザー レプリケーターはそのユーザーを AbUserEntry テーブルに含め、このユーザーはアドレス帳サーバー ファイルに存在しなくなります。

一部のフラグ ビットを使用して、アドレス帳サーバー属性に対して使用するフィルターを定義できます。 たとえば、特定のフラグ ビットがあることにより、ある属性を include 属性か exclude 属性として指定できます。 ユーザー レプリケーターは、exclude 属性を含む連絡先を除外したり、include 属性を含まない連絡先を除外したりします。

現在は 3 種類のフィルターがあります。 次の表にこれら 3 つのフィルターの一覧を示します。

属性 説明

0x800

設定されている場合、これは連絡先の必須属性を示します。 ユーザー レプリケーターはこのフラグ ビットを使用し、必須属性を少なくとも 1 つ含んでいない連絡先を除外します。 OuPathId は必須属性で、必ず設定されます。 そのため、その他の必須属性が少なくとも 1 つ設定される必要があります。 それ以外の場合、(つまり、必須属性 OuPathId の値を持つ) 連絡先は、データベースにまだ書き込まれません。 たとえば、telephoneNumberhomePhone が必須の属性として定義されている場合、これらの属性のうち少なくとも 1 つを持つ連絡先のみがデータベースに書き込まれます。

0x4000

設定されている場合、exclude 属性を示します。 ユーザー レプリケーターはこのフラグ ビットを使用し、この属性を含む連絡先を除外します。 たとえば、msRTCSIP-PrimaryUserAddress が exclude 属性として定義されている場合、この属性を持つ連絡先はデータベースに書き込まれません。

0x8000

設定されている場合、これは include 属性を示します。 ユーザー レプリケーターはこのフラグ ビットを使用し、この属性を含まない連絡先を除外します。 たとえば、msRTCSIP-PrimaryUserAddress が include 属性として定義されている場合、この属性を持つ連絡先のみがデータベースに書き込まれます。

note注:
0x4000 (exclude 属性) と 0x8000 (include 属性) の両方のフラグ ビットが設定されている場合、0x4000 ビットが 0x8000 ビットより優先され、連絡先は除外されます。

アドレス帳をフィルターして特定のユーザーのみを含めることができますが、エントリを制限すると、他のユーザーがフィルターされたユーザーへ連絡したり、プレゼンス状態を参照したりできる範囲が制限されます。 ユーザーは、ユーザーの完全なサインイン名を入力することで、アドレス帳にないユーザーに対する検索、インスタント メッセージの手動送信、手動での通話の開始をいつでも実行できます。 また、ユーザーの連絡先情報は、Outlook や Windows アドレス帳でも検索できます。

アドレス帳ファイルにすべての連絡先レコードがあれば、Lync 2010 による電子メール、電話、セッション開始プロトコル (SIP) が構成されていないユーザーとのエンタープライズ VoIP 通話 (サーバーで エンタープライズ VoIP が有効化されている場合) ができますが、組織によっては SIP 対応のユーザーのみをアドレス帳サーバーのエントリに含める必要がある場合があります。 次の必要とされる属性の フラグ 列の 0x800 ビットをクリアしてアドレス帳をフィルターし、SIP 対応ユーザーのみを含めることもできます。 mailNicknametelephoneNumberhomePhone、および mobile。 また、msRTCSIP-PrimaryUserAddress 属性の フラグ 列に 0x8000 (include 属性) を設定して、アドレス帳をフィルターし、SIP 対応のユーザーのみを含めることもできます。 これは、アドレス帳ファイルからサービス アカウントを除外する際にも便利です。

AbAttribute テーブルを変更した後、コマンドレット Update-CsUserDatabase のコマンドを実行し、AbUserEntry テーブルのデータを更新できます。 UR のレプリケーションが完了した後、コマンドレット UpdateCsAddressBook のコマンドを手動で実行し、アドレス帳サーバー ファイル ストアのファイルを更新できます。

note注:
アドレス帳サーバーが配置されているフロント エンドは、管理上構成できません。 1 つは展開中 (通常は最初のフロント エンドの展開時) に選択されます。 障害時、アドレス帳サービスは別のフロント エンドに移動し、管理上の注意は必要ありません。 また、アドレス帳サービスには 2 つのデータベース (RTCab と RTCab1) があります。 データベースは毎日更新されますが、更新されるデータベースは交互です。 RTCab データベースが更新されている場合、更新処理中、クエリは RTCab1 データベースに対して実行されます。 次の日は RTCab1 が更新され、更新処理中、クエリは RTCab に対して実行されます。 これにより、クエリやアドレス帳ファイルの作成において、少なくとも 1 つのデータベースが必ず使用可能となります。
important重要:
複数フォレスト展開または親子展開からのインフラストラクチャ統合やその他の変更を行った場合 (Lync Server 2010 への移動前のインフラストラクチャ統合など)、一部のユーザーに対するアドレス帳サービス ダウンロードやアドレス帳 Web クエリにおいてエラーが見つかる場合があります。 複数のドメインやフォレストがある展開内では、問題の発生しているユーザー オブジェクトに属性 MsRTCSIP-OriginatorSid が追加されます。 問題を解決するには、これらのオブジェクトの MsRTCSIP-OriginatorSid 属性を NULL に設定する必要があります。