Cisco Unified MeetingPlace Directory Services アドミニストレーション ガイド Release 5.4
Cisco Unified MeetingPlace Directory Services プラグイン関数
Cisco Unified MeetingPlace Directory Services プラグイン関数
発行日;2012/02/04 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1MB) | フィードバック

目次

Cisco Unified MeetingPlace Directory Services プラグイン関数

プラグインの使用

プラグインのガイドライン

ディレクトリで使用可能なプラグイン関数

Cisco Unified MeetingPlace Directory Services プラグイン関数

次の項で構成されています。

「プラグインの使用」

「プラグインのガイドライン」

「Cisco Unified MeetingPlace ディレクトリで使用可能なプラグイン関数」

プラグインの使用

属性を Cisco Unified MeetingPlace にインポートする場合に、プラグイン関数を使用して属性の値を操作します。プラグイン関数を使用すると次のことができます。

属性の抽出、追加、置換

属性の連結

属性値のランダムな割り当て

属性値のフィルタリング

プラグインのガイドライン

プラグイン関数を使用するための標準の構文は &fn(att) です。fn には関数名、att には属性をそれぞれ指定します。

プラグイン関数の使用上のガイドラインは次のようになります。

\ の ASCII コードは \5C

各プラグイン関数には、オプションおよび必須のパラメータが事前定義されている。

属性の前のパーセント記号(%)は、この属性が値を取る必要があることを示す。

アスタリスク(*)文字はすべての値を表す修飾子で、属性名の前に指定すると、ブランク値を除いたこの属性のすべての値を使用する必要があるという意味になる。この修飾子は単一値のソース属性には影響せず、単一値の宛先属性では使用できません。

関数を使用可能にするには、Metalink 設定ファイルの [Conversion Functions] セクションで宣言する必要があります。詳細については、「単一サーバの Cisco Unified MeetingPlace Directory Services システムと社内ディレクトリ サーバとの同期」を参照してください。

Cisco Unified MeetingPlace ディレクトリで使用可能なプラグイン関数

表A-1 に、Directory Services で使用可能なプラグイン関数を名前のアルファベット順に示します。

 

表A-1 Cisco Unified MeetingPlace Directory Servicesで使用可能なプラグイン関数

関数名
宣言
説明

AND

AND = dcmlkcnv.dll,mlkAMapAND

任意の数の属性をパラメータとし、指定されたすべての属性に値がある場合に「TRUE」を返します。指定された属性で値を持たないものがあるときは、値は返されません。

destSecManAttr=&AND(srcManagerAttr,srcSecretaryAttr)

attrHasValue

attrHasValue = dcmlkcnv.dll,mlkAMapAttrHasValue

最初のパラメータとして属性を取り、2 番目のパラメータとして文字列リテラルを取ります。属性が文字列に一致する値を持つ場合はその値が返されます。一致しない場合は値は返されません。

Abs_Person = &attrHasValue(*objectClass, person)

BitMask

BitMask = MPPlugin.dll,mlkBitMask

最初のパラメータとして指定された属性を 2 番目のパラメータの bitmask でテストします。属性値が bitmask 値と一致する場合は、関数は「1」を返し、そうでない場合は「0」を返します。

無効化されたすべての Active Directory ユーザをディレクトリで有効にするには、次のようにします。

[LDAPfilters]
Abs_Person=&attrHasValue
(&BitMask (userAccountcontrol, “2”), “1”)

Active Directory は、フラグ ADS_UF_ACCOUNTDISABLE = 0X0002 を使用して無効化されたユーザを表します。Bitmask と値が一致し、「1」が返されます。

CaseAllLower

CaseAllLower= dcmlkcnv.dll,mlkAMapCase,AllLower

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

AllLower:すべての文字を小文字に変換します。

destLowerCaseNameAttr=*&CaseAllLower(*srcNameAttr)

CaseAllUpper

CaseAllUpper = dcmlkcnv.dll,mlkAMapCase,AllUpper

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

AllUpper:すべての文字を大文字に変換します。

AllLower:すべての文字を小文字に変換します。

destUpperCaseNameAttr=*&CaseAllUpper(*srcNameAttr)

CaseFirstNormal

CaseFirstNormal = dcmlkcnv.dll,mlkAMapCase,FirstNormal

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

FirstNormal:最初の文字を大文字に変換し、残りの文字を小文字に変換します。

destFirstNormalNameAttr=*&
CaseFirstNormal(*srcNameAttr)

CaseFirstUpper

CaseFirstUpper = dcmlkcnv.dll,mlkAMapCase,FirstUpper

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

FirstUpper:最初の文字を大文字に変換します。

FirstNormal:最初の文字を大文字に変換し、残りの文字を小文字に変換します。

WordUpper:各単語の最初の文字を大文字に変換します。

destFirstUpperNameAttr=*&CaseFirstUpper(*srcNameAttr)

CaseWordLower

CaseWordLower =dcmlkcnv.dll,mlkAMapCase,WordLower

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

WordLower:最初の文字以外のすべての文字を小文字に変換します。

WordNormal:各単語の最初の文字を大文字に変換し、残りの文字を小文字に変換します。

destLowerCaseNameAttr=*&CaseWordLower(*srcNameAttr)

CaseWordNormal

CaseWordNormal =dcmlkcnv.dll,mlkAMapCase,WordNormal

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

WordNormal:各単語の最初の文字を大文字に変換し、残りの文字を小文字に変換します。

destWordNormalNameAttr=*&CaseWordNormal(*srcNameAttr)

CaseWordUpper

CaseWordUpper = dcmlkcnv.dll,mlkAMapCase,WordUpper

パラメータとして単一値を取り、登録で指定されたオプションのパラメータに基づいて大文字と小文字を変換し、変換後の値を返します。

WordUpper:各単語の最初の文字を大文字に変換します。

destWordUpperNameAttr=*&CaseWordUpper(*srcNameAttr)

CreateDate

Createdate = mpplugin.dll,mlkCreateDate

この関数を呼び出したすべての属性の時刻と日付のスタンプを作成します。

&creationdate(“0”) - mmddyy

例:063004

FilterAND

FilterAnd = MPPlugIn.dll,mlkFilterAND

2 つ以上の式を追加します。

Abs_Person = &FilterAnd(“4”, &attrHasValue(*objectClass, “person”), sn, GivenName, SAMAccountName)

FilterBuiltin

FilterBuiltin = MPPlugIn.dll,mlkFilterBuiltin

指定の値に等しい属性を持つエントリを除外します。

%Vuname=&Filterbuiltin(telephonenumber, “1234”)

FilterNOT

FilterNOT = MPPlugIn.dll,mlkFilterNOT

式を反転させます。

--

GenNum

GenNum = MPPlugIn.dll,mlkGenNum

指定の長さ(最初の引数)と指定の増分値(2 番目の引数)を持つ増分数を生成します。


) このプラグインはレジストリを使用して最新の数を追跡します。


%VUName=&GenNum(“5”, “1”)

GetMailboxAddress

GetMailBoxAddress = dcmlkcnv.dll,mlkAMapGetMailboxAddress,SMTP

Exchange サーバからの電子メールのアドレスを同期する場合に使用します。この関数は Exchange メールボックスに格納されているアドレスから特定の種類の電子メール アドレスを抽出します。

destSingleMailboxAttr=&GetMailBoxAddress(*srcMultiMailboxAttr)

HexString

HexString = MPPlugIn.dll,mlkHexString

文字列の各文字を 16 進で表した 2 桁の等価の数に変換します。Active Directory の objectGUID 値を固有の 16 進の文字列に変換する関係付けルールで使用できます。

EmailAdd = &HexString(objectGUID)

LDAPtoDN

LDAPtoDN = dcmlkcnv.dll,mlkAMapConvertLDAPDN,LDAP

パラメータとして単一値を取り、オプションのパラメータに従って DC-Directory と LDAP との間で DN を変換し、変換した値を返します。

destDCDNAttr=*&LDAPtoDN(srcLDAPDNAttr)

ManyToOne

ManyToOne = dcmlkcnv.dll, mlkAMapManyToOne

パラメータとして複数の属性を取り、すべての属性の持つすべての値を示した単一のリストを返します。最大で 10 個の属性を取ることができます。

destCombinationAttr=*&ManyToOne(*srcFirstAttr, *srcSecondAttr)

MapString

MapString = MPPlugIn.dll,mlkStringMap

ファイルベースのテーブルに基づいて文字列をマッピングします。テーブルはファイル名を介して渡されます。

Groupname=&mapString(employeetype, “E:\Cisco Systems\Cisco Unified MeetingPlace Directory Services\DSG Admin\group.txt”)

MidString

MidString = MPPlugIn.dll,mlkStringMid

指定の n 個の文字を含む指定の開始インデックスから、サブ文字列を返します。


) strlen(string) < (start + n) の場合、MidString はエラーを返し、ログがサスペンス ファイルに記録されます。文字列長のエラーを回避する必要がある場合は、
StringMidNoEnd を使用してください。


FaxNum=&midString(Telephone-Fax, “3”, “5”)

MultiValToSingle

MultiValToSingle = dcmlkcnv.dll,mlkAMapMultiValToSingle

パラメータとして単一の属性を取り、オプションのパラメータをデリミタとして使用して値を連結する方法によってその属性のすべての値を単一の値にマッピングします。値内に出現するデリミタ文字列はバックスラッシュを使用するとエスケープされます。バックスラッシュ自体もバックスラッシュでエスケープされます。

destSingleValAttr=&MultiValToSingle(*srcMultiValAttr)

NormalizeInitials

NormalizeInitials = dcmlkcnv.dll, mlkAMapInitials

パラメータとして単一の値を取り、各文字はドット(.)が後続する大文字に変換され、正規化された値が返されます。この関数は初期属性の正規化で使用されます。

destInitAttr=*&NormalizeInitials(*srcInitAttr)

NOT

NOT = dcmlkcnv.dll,mlkAMapNOT

パラメータとして属性を 1 つ取り、指定された属性に値がない場合に「TRUE」を返します。指定された属性に値がある場合は、値は返されません。

destNotManagerAttr=&NOT(srcManagerAttr)

Random

Random = MPPlugIn.dll,mlkRnd

0 から n までのランダムな値を返します。

GroupName = &mapString(&Random(“6”), “C:\Program Files\Cisco Systems\MeetingPlace Directory Services\DSG Admin\map.txt”)

RemoveRDN

RemoveRDN= dcmlkcnv.dll, mlkAMapRemoveRDN

指定の DN 文字列の最後からいくつかの RDN を削除します。最初のパラメータは DN で、2 番目のパラメータは DN の最後から削除する RDN の数です。削除する RDN の数が実在の RDN の数より大きい場合は、ヌル ストリングが返されます。

manager=&RemoveRDN(fulldistname,1)

ReparentDN

ReparentDN = dcmlkcnv.dll,mlkAMapReparentDN

1 つのサブツリーにある DN から別のサブツリーの等価のポジションにマッピングするために使用します。最初のパラメータは属性パラメータで、それ以降の 2 つのパラメータは文字列リテラルです。2 番目のパラメータは初期の親 DN で、3 番目のパラメータが新しい親 DN です。DN は LDAP 書式ではなく DC-Directory で記述する必要があります。

destNewDNAttr=*&ReparentDN(*srcOldDNAttr, “/c=US/o=MyCorp”, “/dc=com/dc=mycorp”)

ReplaceSubstring

ReplaceSubstring = dcmlkcnv.dll,mlkAMapReplaceSubstring

属性のすべての値に対してサブ文字列の置換を実行するために使用し、指定の文字列のすべてのインスタンスを代替値で置き換えます。最初のパラメータは属性パラメータで、2 番目の 2 つのパラメータは文字列リテラルです。2 番目のパラメータは検索対象の文字列で、3 番目のパラメータは置換用の文字列です。

destProperAttr=*&ReplaceSubstring(*srcShortHandAttr, “Init:”, “Initials:”)

SingleSpace

SingleSpace = dcmlkcnv.dll, mlkAMapSingleSpace

パラメータとして単一の属性を取り、各値に複数の連続するスペースが出現するとこれを単一のスペース文字で置換し、修正後の値を返します。

destStringAttr=*&SingleSpace(*srcStringAttr)

SingleValToMulti

SingleValToMulti = dcmlkcnv.dll,mlkAMapSingleValToMulti

パラメータとして単一の属性を取り、単一の値を値のリストにマッピングします。

destMultiValAttr=*&SingleValToMulti(srcSingleValAttr)

SpaceNormRDNValue

SpaceNormRDNValue= dcmlkcnv.dll, mlkAMapSpaceNormDCDRDN

この関数は単一の RDN 値をパラメータとして取り、値の冒頭または末尾からスペースを削除し、反復するスペースのインスタンスを単一のスペースで置換することで標準化します。この標準化された値は、この後、返されます。この関数は、
DC-Directory から Remote DCD Sync および LDAP Sync を通じて
DC-Directory の Metalink アグリーメントに返された RDN を標準化するために使用する必要があります。

fullDistName = “/c=US/o=MyOrg/cn=” + &SpaceNormRDNValue(givenname)

String2Number

String2Number = MPPlugIn.dll,mlkString2Number

標準の電話用メモ帳に基づいて文字列を数字に変換します。

VUname=&String2number(uid)

StringLeft

StringLeft = MPPlugIn.dll,mlkStringLeft

最初に出現した指定の文字の左側にすべてを返します。

fullDirectoryName= “/o=yourcompany.com/ou=people/nm=”+&StringLeft(Assoc-NT-Account, “\5C”)

StringMidNoEnd

StringMidNoEnd = MPPlugIn.dll,mlkStringMidNoEnd

指定の開始インデックスで指定の n 個の文字を含むインデックスからサブ文字列を返します。


) MidString とは異なり、StringMidNoEnd は、strlen(string) < (start + n) の場合でもエラーを生成しません。


FaxNum=&StringMidNoEnd(Telephone-Fax, “3”, “5”)

StringMidNoStartNoEnd

StringMidNoStartNoEnd =MPPlugin.dll, mlkStringMidNoStartNoEnd

指定の開始インデックスで指定の n 個の文字を含むインデックスからサブ文字列を返します。


) MidString とは異なり、StringMidNoEnd は、strlen(string) < (start + n) または strlen(string) < (end - n) の場合でもエラーを生成しません。


FaxNum=&StringMidNoStartNoEnd(Telephone-Fax, “3”, “5”)

StringRemoveNonDigit

StringRemoveNonDigit = MPPlugIn.dll,mlkStringRemoveNonDigit

数字以外のすべての文字を指定の文字列から削除します。この関数は電話番号を vuname にマッピングする際に便利です。

%VUName=&StringRightN(&StringRemoveNonDigit(telephonenumber), “7”)

StringRight

StringRight = MPPlugIn.dll,mlkStringRight

最初に出現した指定の文字の右側に、右側から順にすべてを返します。

fullDirectoryName= “/o=yourcompany.com/ou=people/nm”+&StringRight(Assoc-NT-Account, “\5C”)

StringRightN

StringRightN = MPPlugIn.dll,mlkStringRightN

指定の文字列の右側の最後から始まる、 n 個の文字によるサブ文字列を返します。

%VUName=Telephone-Office2 | &StringRightN(Telephone-Office1, “4”)

TelephoneValidate

TelephoneValidate = dcmlkcnv.dll, mlkAMapTelValidate

パラメータとして単一の属性を取り、電話番号として標準の国際表示で許容されている文字(0 から 9 までの数字、スペース、+ 記号)を除くすべての文字を削除して標準化し、標準化した数字を返します。

destTelephoneNumberAttr=*&TelephoneValidate(*srcTelephoneNumberAttr)

TrimWhiteSpace

TrimWhiteSpace = dcmlkcnv.dll,mlkAMapTrim

各値の開始と終了からブランクのスペースを削除します。

destTrimmedAttr=*&TrimWhiteSpace(*srcUntrimmedAttr)

Truncate

Truncate= dcmlkcnv.dll, mlkAMapTruncate

文字列値を切り捨てます。最初のパラメータは切り捨ての対象となる文字列値で、登録のオプションのパラメータは切り捨てる文字列の長さを指定した整数です。

destInitials=&Truncate(initials)

UnixDate

UnixDate = MPPlugIn.dll,mlkUnixDate

標準の時刻(mmddyyyy)を Unix 時刻書式に変換するか、Unix 時刻から標準の時刻に変換します。

標準の時刻(12/31/2003 など)から Unix 時刻に変換するには:

VUPasswordLastChanged=&UnixDate(VUPasswordLastChanged, “0”)

Unix 時刻から標準の日付(12/31/2003 など)に変換するには:

VUPasswordLastChanged=&UnixDate(VUPasswordLastChanged, “1”)