Share via


SfB Server 2015 のアドレス帳生成時の正規化ルールについて

Japan Lync/Skype サポートチームです。

 

今回は、Skype for Business でコマンドレットによりアドレス帳サーバーの電話番号の正規化設定を行えるようになりましたのでコマンドの使用例を紹介したいと思います。

Skype for Business Server および Lync Server は、標準の RFC 3966/E.164 電話番号を解釈します。
Active Directory 上にて設定するすべてのユーザーの電話番号をE.164番号に統一できればよいのですが、それが難しい場合は Skype for Business Server/Lync Server 上でアドレス帳サーバーの電話番号の正規化設定を行う必要があります。

Skype for Business Server および Lync Serverでは、アドレス帳サーバーを利用して電話番号を前処理してから正規化ルールに渡します。アドレス帳から電話番号が使用され、正規化ルールが適用されると、クライアント側で、これらの正規化された番号を使用できるようになるという仕組みになっています。Lync Server 2013 以前の製品では、体系に沿っていない形式や一貫性のない形式の電話番号を使用するためには、アドレス帳ファイルが格納されるフォルダにCompany_Phone_Number_Normalization_Rules.txt というテキストファイルを作成し、正規化ルールを設定することで、上記仕組みを利用する必要がありました。

- 参考情報:
Configuring Address Book Server Phone Normalization
https://technet.microsoft.com/en-us/library/bb936613(office.12).aspx

本作業はすべての Lync Server 上で行う必要があり、時として運用者の負担になることもありましたが、Skype for Business では Company_Phone_Number_Normalization_Rules.txt の設定を行うことなく、PowerShell コマンドを使用し、より簡易的に本作業を実行することが可能になりました。

以下が対象のコマンドです。

Get/Set/New/Remove-CsAddressBookNormalizationConfiguration
Get/Set/New/Remove-CsAddressBookNormalizationRule

これらコマンドの使用例を以下にお伝えします。

以下コマンドを実行することで、組織内で現在使用されている構成、および、当該構成に紐づくアドレス帳正規化ルールを参照することができます。
既定ではグローバル構成に紐づく、既定の正規化ルールが表示されます。

(Get-CsAddressBookNormalizationConfiguration).AddressBookNormalizationRules

実行結果:
-----------------------------------------
Description :
Pattern     : E164
Translation : null
Name        : Generic_E164

Description :
Pattern     : \++(\d+)[Xx]+(\d{1,15})
Translation : +$1;ext=$2
Name        : Generic_WithExtension

Description :
Pattern     : \++(\d+)ext[=]?(\d{1,15})
Translation : +$1;ext=$2
Name        : Generic_WithLongExtension

Description :
Pattern     : \++(\d+)EXT[=]?(\d{1,15})
Translation : +$1;ext=$2
Name        : Generic_WithLongExtensionUpper

Description :
Pattern     : \++(\d+)
Translation : +$1
Name        : Generic_All
-----------------------------------------

New/Remove/Set-CsAddressBookNormalizationRuleを使用し、この既定の正規化ルールを一度クリーンな状態にしたうえで、新しくルールを作成する例を以下に記載します。

'Generic_E164' 以外のルールを削除します。

CsAddressBookNormalizationRule | Where {$_.Name -ne 'Generic_E164'} | Remove-CsAddressBookNormalizationRule

2 つのグローバルルールを追加します。

New-CsAddressBookNormalizationRule -Parent Global -Name 'Global' -Pattern '((1[2-9]\d\d[2-9]\d{6})|([2-9]\d{6,14}))' -Translation '+$1' -Priority 0

New-CsAddressBookNormalizationRule -Parent Global -Name 'Global-Ext' -Pattern '((1[2-9]\d\d[2-9]\d{6})|([2-9]\d{6,14}))\D+(\d+)' -Translation '+$1;ext=$2' -Priority 1

実行結果:
-----------------------------------------
Description :
Pattern     : ((1[2-9]\d\d[2-9]\d{6})|([2-9]\d{6,14}))
Translation : +$1
Name        : Global

Description :
Pattern     : ((1[2-9]\d\d[2-9]\d{6})|([2-9]\d{6,14}))\D+(\d+)
Translation : +$1;ext=$2
Name        : Global-Ext

Description :
Pattern     : E164
Translation : null
Name        : Generic_E164
-----------------------------------------

各コマンドの使用方法詳細については以下公開情報をご参考いただければ幸いです。

- 参考情報:
New-CsAddressBookNormalizationConfiguration
https://technet.microsoft.com/ja-jp/library/dn985965.aspx

Get-CsAddressBookNormalizationConfiguration
https://technet.microsoft.com/ja-JP/library/dn985813.aspx

Set-CsAddressBookNormalizationConfiguration
https://technet.microsoft.com/ja-JP/library/dn985892.aspx

Remove-CsAddressBookNormalizationConfiguration
https://technet.microsoft.com/ja-jp/library/dn985799.aspx

New-CsAddressBookNormalizationRule
https://technet.microsoft.com/ja-JP/library/dn985803.aspx

Remove-CsAddressBookNormalizationRule
https://technet.microsoft.com/ja-jp/library/dn985819.aspx

Get-CsAddressBookNormalizationRule
https://technet.microsoft.com/ja-jp/library/dn985826.aspx

Set-CsAddressBookNormalizationRule
https://technet.microsoft.com/ja-jp/library/dn985963.aspx

なお、以下コマンドを使用することで以前のLync Serverバージョンで使用されている Company_Phone_Number_Normalization_Rules.txt で定義されているカスタムの電話正規化ルールを、Skype for Business Server環境にインポートすることができます。併せてご確認ください。

Import-CsCompanyPhoneNormalizationRules
https://technet.microsoft.com/ja-JP/library/dn985968.aspx