Sun Identity Manager 8.1 リソースリファレンス

Domino の例

Domino リソースでは、前アクションと後アクションがサポートされます。

現在は、LotusScript と cmd シェルの 2 種類のアクションがサポートされています。どの操作アクションにも、実行される任意の数のアクションを実装できます。

次の例は、LotusScript および cmd シェルのリソースアクションの使用方法を示しています。

LotusScript の例

<ResourceAction name=’iterateAttributes’ createDate=’1083868010032’>
   <ResTypeAction restype=’Domino Gateway’ actionType=’lotusscript’>
      <act>
         Sub Initialize
            Main
         End Sub
         Sub Main
            Dim session As New NotesSession
            Dim doc As NotesDocument
            Set doc = session.DocumentContext
            Forall i In doc.Items
               Dim attrVal As Variant
               attrVal = doc.GetItemValue(i.Name)
            End Forall
         End Sub
      </act>
   </ResTypeAction>
</ResourceAction>

cmd シェルの例

<ResourceAction name=’getDirectoryContents’ createDate=’1083868010032’>
   <ResTypeAction restype=’Domino Gateway’>
      <act>dir</act>
   </ResTypeAction>
</ResourceAction>

注 –

actionType が null の場合は、cmd スクリプトタイプがデフォルトとして使用されます。


LotusScript の実行

Domino では、LotusScript の実行はデータベースに接続されたエージェントによって処理されます。Domino アダプタは、次のいずれかの方法で LotusScript を実行します。

入力  

結果  

agentName 

エージェントを実行します。 

agentName およびスクリプト 

スクリプトを用いてエージェントを更新し、そのエージェントを実行します。 

agentName、agentCreate、およびスクリプト 

スクリプトを用いてエージェントを作成し、そのエージェントを実行します。 

次に示すカスタマイズされたアカウント属性は、LotusScript で使用できます。これらの属性のいずれかを使用する場合は、その属性を Domino ゲートウェイスキーママップに追加します。「リソースユーザー属性」列には値として「IGNORE_ATTR」を指定します。


注 –

agentCreate を指定する場合は、実行する LotusScript も指定してください。


LotusScript への引数

エージェントの引数は、バックエンド NotesSession クラスからの専用プロパティーで、LotusScript へのノートハンドルに指定されます。これは次のように定義できます。

NotesDocument = NotesSession.DocumentContext

アクションスクリプトルーチンによって NotesDocument をインスタンス化し、そのフィールド値を LotusScript サブルーチンへのパラメータとして読み取ることができます。

ドキュメントに定義された任意の引数の名前と値を取得する LotusScript の例を次に示します。

Dim session As New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext

Forall i In doc.Items
   Dim attrVal As Variant
   attrVal = doc.GetItemValue(i.Name)
   Print(" Attribute Name: " + i.Name + " Value: " + attrVal(0))
End Forall

NT アクションの場合と同じように、アクションの呼び出し中に定義された属性はすべて、先頭に WSUSER_ が付加されて NotesDocument に配置されます。

cmd シェルの実行

アクションは、拡張機能を有効にした Windows コマンドインタプリタ cmd.exe を使用して実行されます。ユーザー操作の前に実行するアクションでは、ゼロの値を返す必要があります。そうしないと、操作はエラー終了となります。

cmd シェルへの引数

NT/ADSI cmd アクションと同様に、環境変数がエクスポートされ、アクションで利用できるようになります。これらの環境変数は、ユーザーに関する値 (リソーススキーママップの「Identity Manager ユーザー属性」列で定義される) を持つ、スキーマにマップされたすべての属性を、先頭に WSUSER_ を付加して構成します。

複数値属性は、次のようなパイプ区切りリストで構成されます。

WSUSER_groups=staff|admin|users