前のトピック: 明示的なグローバル ユーザ属性ルール次のトピック: プロビジョニング ロールのパフォーマンス


組み込みルール関数

値のさまざまな変換を実行するために、ルール式に組み込みルール関数を使用できます。 組み込みルール関数を呼び出すための一般的な形式は以下のとおりです。

%[*]$$function(arg[,…])[:offset,length]%

複数値を示すアスタリスク(*)と、オフセットと長さのサブストリングの指定はオプションです。

認識されている組み込み関数は、以下のとおりです。

組み込みルール関数

説明

ALLOF

すべてのパラメータを複数値属性にマージします。 順序は保持され、重複は削除されます。 たとえば、ユーザ属性が以下のように設定されたとします。

eTCustomField01: { A, B }
eTCustomField02: { A, C }

この場合、

%*ALLOF(%*UCU01%,%*UCU02%)%

というルールは 3 つの値 { A, B, C } と評価されます。

DATE

dd/mm/yyyy 形式の現在の日付が評価されます。 ルール式 %D% は以下のいずれかに相当します。

%$$DATE()%
%$$DATE%

FIRSTOF

パラメータの最初の値を返します。 属性が設定されていない場合に、デフォルト値を挿入するために使用されます。

%$$FIRSTOF(%UCU01%,'unknown')%
%$$FIRSTOF(%LN%,%UCU01%,%U%)%

値が設定されていないと、結果に値が含まれません。 引数に定数の文字列を入力する場合は、一重引用符で囲む必要があります。

INDEX

複数値属性の値を 1 つ返します。 Index 1 は最初の値です。 実在する値の個数より大きな値をインデックスに指定すると、結果として未設定(空)の値が返されます。 以下の 1 行目のルールは 2 行目のルールに相当します。

%$$INDEX(%*UCU01%,1)%

%$$FIRSTOF(%*UCU01%)%

NOTEMPTY

1 つの引数の値を 1 つ返しますが、この属性値が設定されていないとエラーがレポートされます。

事例 1

ユーザに UID 属性が割り当てられていない場合、アカウントの作成または更新が失敗します。

%$$NOTEMPTY(%UID%)%

事例 2

名を使用し、名前が設定されていない場合には姓を使用します。 両者が設定されていない場合は、アカウントの作成または更新が失敗します。

%$$NOTEMPTY(

%$$FIRSTOF(

%UF%,

%UL%

)%

)%

PRIMARYEMAIL

複数の電子メール アドレスから抽出された、プライマリ電子メールアドレスを返します。 式 %UE% は以下の式に相当します。

%$$PRIMARYEMAIL(%UEP%)%

RDNVALUE

属性名を LDAP 識別名として扱い、その識別名からオブジェクトの共通名を抽出します。

%*$$RDNVALUE(%#eTRoleDN%)%

これによって、すべての割り当てられたプロビジョニング ロールの共通名が返されます。 ユーザが同じ共通名を持つ 2 つのプロビジョニング ロールに属する場合、そのロール名は 1 つだけリストされます。

TOLOWER

大文字のテキストを小文字に変換します。

%$$TOLOWER(%AC%)%

TOUPPER

小文字のテキストを大文字に変換します。

%$$TOUPPER(%U%)%

TRIM

属性値の前後の空白を削除します。

たとえば、通常 “%UF %UL%” は空白文字によって区切られた名と姓を作成します。 しかし、ユーザが空の名の属性を持っている場合、このルールによって値の末尾に空白が追加されてしまいます。 この場合、

“%$$TRIM(%UF% %UL%)%

を使用すると、名または姓が未設定の場合でも、アカウント属性値の前後に空白が残ることはありません。