スクリプトゲートウェイアダプタは、ゲートウェイ上で実行するバッチファイルとしてアクションを実装します。これらのスクリプトは、スクリプトを実行するマシンにインストールされている Windows のバージョン上で実行されるように記述する必要があります。ゲートウェイを実行するアカウントと同じアカウントが、スクリプトも実行します。
スクリプトは、Windows の規則に従い、成功を示すリターンコード 0 で終了するようにしてください。0 以外のコード (スクリプトの作成者が定めた) を返すことは、操作が正しく完了しなかった可能性があるという意味になります。
スクリプトは、Windows の標準エラーや標準出力ストリームにテキストを出力できます。操作の種類、操作のコンテキスト、および失敗のタイプによっては、その操作の結果にテキストを表示することができます。
getUser および getAllUsers 操作では、このテキストは、各ユーザーの属性を特定するために標準出力ストリームで解析されます。
スキーママップの アイデンティティーシステム リソース属性列で定義されたアカウント属性はいずれも、そのアカウント属性の先頭に WSUSER_ を付加することで、スクリプトで利用できるようになります。たとえば、アカウント属性の名前が Full Name の場合、その環境変数は WSUSER_Full Name という名前になります。
WSRSRC_ で始まる環境変数で、アダプタの設定を渡すことができます。もっとも重要な変数は、アダプタの名前を定義する WSRSRC_Name です。異なるリソースで同じスクリプトを実行する場合は、この変数を実装すると、それぞれのゲートウェイで同じ操作を行うスクリプトの複数のコピーを維持する手間を省けます。
WSOBJ_ID 変数と WSOBJ_NAME 変数は、それぞれアカウント ID とアカウント名を定義します。これらの変数は、スクリプトゲートウェイアダプタでのみ使用できます。
次の例は、サンプルで生成される環境を示しています。
WSUSER_Email=testuser@waveset.com WSUSER_First Name=JUnit WSUSER_Full Name=JUnit TestUser WSUSER_Last Name=TestUser WSUSER_User ID=USER5647 WSUSER_ws_action_type=WindowsBatch WSOBJ_ID=testuser WSOBJ_NAME=testuser WSRSRC_NAME=Scripted Gateway WSRSRC_CLASS=com.waveset.adapter.ScriptedGatewayResourceAdapter WSRSRC_Host=localhost WSRSRC_List Objects Timeout=900000 WSRSRC_Request Timeout=30000 WSRSRC_TCP Port=9278 WSRSRC_connectionLimit=10
一般に、属性の値が NULL の場合は、対応する環境変数に長さが 0 の文字列が設定されるのではなく、その環境変数が省略されます。
スクリプトで使用可能な変数については、第 50 章リソースへのアクションの追加を参照してください。