ターミナルの自動化
Kofax RPA は、3270、5250、6530 およびストリーム ベース (VT100 および ANSI) ターミナルとの接続および通信に対応しています。
ターミナル自動化のコマンド タイムアウトは、Design Studio でワークフローを実行するための Design Studio 設定ウィンドウにある [Desktop Automation] タブ、または RoboServer 実行のための [RoboServer 設定] ウィンドウの [セキュリティ] タブにある [Desktop Automation] セクションで設定します。『Kofax RPA 管理者ガイド』 の「ランタイム」>「セキュリティ」を参照してください。
マウス移動 ステップとクリック ステップを挿入することはできますが、ターミナルはマウス操作に対応していません。ターミナルはキーボードのキーを使用して操作する必要があります。
- フォント
-
Kofax RPA は、ターミナルのスクリーンをレンダリングするために、複数のフォントをバンドルしています。フォントは以下のパスにあります。
C:\Program Files\Kofax RPA 11.1.0\nativelib\hub\windows-x32\XXX\fonts
ここでは、XXX は内部目的用の 3 桁の数字です。
バンドルされたフォントにない文字を使用するホストとのターミナル接続が確立されると、文字は画面上で四角形としてレンダリングされます。これは、同じ Kofax RPA フォント ディレクトリにある fontlist.txt ファイルの Truetype フォントにパスを追加することで修正ができます。例:
C:\TerminalFonts\MyTerminalFont.ttf
- TN6530 ターミナル
-
6530 ターミナルに接続するには、「ターミナル」ステップを挿入し、[ノンストップ (tn6530)] を選択して、接続タイプ、クレデンシャル、接続オプションなど、必要なすべてのパラメータを指定します。
Kofax RPA は TN6530-8 ターミナルを 80x24 画面でエミュレートします。ターミナルは対話モードで開始します。
- キーボードのサポート
-
以下の 6530 キーは、保護ブロック モードでサポートされます。
-
Return、Shift + Return、Ctrl + Return
-
Home、Ctrl + Home
-
End
-
Backspace
-
Tab、Shift + Tab
-
Insert、Alt + Insert、Ctrl + Insert
-
Delete、Alt + Delete、Ctrl + Delete
-
Alt + 2、Shift + Alt + 2
-
方向キー
-
ファンクション キー F1 ~ F16。(互換性のため、Alt+F1 ~ F6 も F11 ~ F16 にマッピングされます)
-
6530 ファンクション キー: Alt + Up、Alt + Down、PgUp、Alt + PgUp、PgDn、Alt + PgDn
Kofax RPA は対話モードで次の 6530 キーをサポートします。
-
Return、Shift + Return
-
ファンクション キー F1 ~ F16。(互換性のため、Alt+F1 ~ F6 も F11 ~ F16 にマッピングされます)
さらに以下の計算キーがサポートされます。
-
VK_CLOSE
このキーは、セッションを終了して TN6530 ターミナルを閉じるのに使用されます。
-
VK_F11 ~ VK_F16
これらのキーは、F11 ~ F16 ファンクション キーにマッピングされた 6530 のキーの組み合わせ Alt+F1 ~ Alt+F6 に対応して機能します。
-
- 接続オプション
-
接続オプションは「ターミナル」ステップの [オプション] フィールドで指定します。オプションはアンパサンド (&) で区切ります。オプションの文字列にパーセント (%) エスケープ文字を含めることができます。
たとえば、NetworkTrace=MyLogfile.log&LineBuffer=2048 のようになります。
tn6530 の [接続] アクションは、[ホスト] フィールドで別のポートが明示的に指定されていない限り (例: TerminalHost:11625)、Telnet サービス (ポート 23) に接続します。
以下のオプションがサポートされています。
-
NetworkTrace=<logfile>
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
-
ColorMap=<color-map>
ターミナルをカラー サポートに設定し、オプションでデフォルトのカラー マップを提供します。
-
LineBuffer=<lines>
ターミナルのバッファリングされる行数を設定します。これらの行は、ページング/スクロールに使用できます。指定できる値は 24~65536 です。指定しない場合、ターミナルは 1024 行のバッファを保持します (対話モードのみ)。
ssh6530 の [接続 (SSH)] アクションは、[ホスト] フィールドで別のポートが明示的に指定されていない限り (例: TerminalHost:11625)、Telnet サービス (ポート 22) に接続します。SSH ログインのクレデンシャルを指定するには、「ターミナル」ステップで [クレデンシャル] オプションを使用します。
以下のオプションがサポートされています。
-
SessionFile=<template>
デフォルトの PuTTY 設定ファイルを設定します。このオプションを指定しない場合は、bin ディレクトリ内の session.plink ファイルが使用されます。
-
PublicKeyFile=<file>
認証の SSH キー ファイルを指定します。このファイルは PuTTY の秘密鍵の形式で指定する必要があります。
-
SSHUser=<user>
SSH ユーザー。この設定は、ステップの [ユーザー名] フィールドのユーザー名をオーバーライドします。ユーザーを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
-
SSHPassword=<password>
SSH パスワード。この設定は、ステップの [パスワード] フィールドのパスワードをオーバーライドします。このオプションを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
-
SSHHostKey=<hostkey>
ホストを設定する SSH ホスト キーを設定します。この設定を使用して、値がホストから送信されたホスト キーと一致しない場合には、接続は拒否されます。
この設定を省略し、PuTTY 設定ファイルを使用して設定したホスト キーがない場合、ロボットにダイアログがインタラクティブに表示されるため、ロボットはキーを承認するダイアログを処理する必要があります。ロボットは Windows のレジストリを無視するため、ホスト キーを格納しないことに注意してください。
-
SSHLog=<logfile>
トラブルシューティングに使用する SSH レベルのログを有効にします。
-
NetworkTrace=<logfile>
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
-
ColorMap=<color-map>
ターミナルをカラー サポートに設定し、オプションでデフォルトのカラー マップを提供します。
-
LineBuffer=<lines>
ターミナルのバッファリングされる行数を設定します。これらの行は、ページング/スクロールに使用できます。指定できる値は 24~65536 です。指定しない場合、ターミナルは 1024 行のバッファを保持します (対話モードのみ)。
その他のオプションは、SessionFile テンプレートの設定を置き換えるのに使用されます。SessionFile テンプレートで設定されていないオプションは無視されます。
logfile パラメータは、ファイルの作成時に以下の置き換えを実行します。
パターン
置き換え
例
$P
ロボットを実行する処理の PID (値はプラットフォームに依存します)。
12928
$T
UNIX エポック形式の UTC 時刻。
1524649335
$D
ISO 8601 形式でのローカル時刻。
20180425T114215
$H
ホストの IP アドレス。
127.0.0.1
$P
ホストのポート。
22
$$
単独のドル記号 ($)。
$
-
- カラー サポート
-
ColorMap= 設定は、ターミナルをモノクロから設定不可のカラー モードに切り替えます。ホストはエスケープ コードを送信してカラー マップを更新できます。初期カラー マップを接続文字列で設定するには、32 バイトの文字列を、32 個の属性の組み合わせに対するカラー マッピングを指定する 16 進数形式で指定します。属性と色のマッピング スキームの説明については、6530 のドキュメントを参照してください。
- 既知の問題と制限
-
-
対話モードと非保護モードのサポート範囲は限定されます。
-
拡張カラー サポートと EM3270 モードは利用できません。
-
ターミナルに対するローカル操作を実行するコマンドがサポートされません。
メッセージ ラインで、サポートされていないエスケープ シーケンスおよびキーが「**ERRORS:」マーカーでトラッキングされます。
-
- アプリケーション アクション
-
[アプリケーション アクション] メニューは、[レコーダー ビュー] の [ターミナル] タブを右クリックすると表示されます。メニューには、tn6530 ターミナルの次の項目が含まれます。
アクション
説明
[閉じる]
[ターミナル] ウィンドウを閉じます。
[ステップを移動] (行、列)
アプリケーション ツリーで使用されている行/列の座標に基づいて、指定した位置にカーソルを移動します。各パラメータは、水平方向および垂直方向の移動を容易にするためのオプションです。
- tn5250 ターミナル
- 5250 ターミナルに接続するには、「ターミナル」ステップを挿入し、[iSeries (tn5250)] を選択して、ホスト名、接続タイプ、接続オプションなど、必要なすべてのパラメータを指定します。デフォルトと異なるポートを使用するには、[ホスト] フィールドで指定します (TerminalHost:11625 など)。
- 接続オプション
- 接続オプションは「ターミナル」ステップの [オプション] フィールドで指定します。オプションはアンパサンド (&) で区切ります。オプションの文字列にパーセント (%) エスケープ文字を含めることができます。
env.TERM は、URL によってモードが切り替わった後のクライアント ターミナル タイプの値です。デフォルトのターミナル タイプは、"IBM-3179-2" です。env.TERM パラメータは、tn5250 ターミナルに対してのみ有効であることに注意してください。Kofax RPA は、次のターミナル タイプに対応しています。
-
"IBM-3477-FC"
-
"IBM-3477-FG"
-
"IBM-3180-2"
-
"IBM-3179-2" (デフォルト)
-
"IBM-3196-A1"
-
"IBM-5292-2"
-
"IBM-5291-1"
-
"IBM-5251-11"
-
"IBM-5555-B01" (DBCS が有効)
-
"IBM-5555-C01" (DBCS が有効)
Kofax RPA は 80x24 と 132x27 の両方のモードのターミナルをサポートしています。
5250 ターミナルは、現在の PC キーボードでは利用できない多数のキーを備えた特殊なキーボードを使用していました。このようなキーを入力するには、キー プレスで次の計算キーを使用できます。
-
VK_RETURN
-
VK_ENTER
-
VK_TAB
-
VK_BACKTAB
-
VK_UP
-
VK_DOWN
-
VK_LEFT
-
VK_RIGHT
-
VK_CLEAR
-
VK_BACKTAB
-
VK_F1
-
VK_F2
-
VK_F3
-
VK_F4
-
VK_F5
-
VK_F6
-
VK_F7
-
VK_F8
-
VK_F9
-
VK_F10
-
VK_F11
-
VK_F12
-
VK_F13
-
VK_F14
-
VK_F15
-
VK_F16
-
VK_F17
-
VK_F18
-
VK_F19
-
VK_F20
-
VK_F21
-
VK_F22
-
VK_F23
-
VK_F24
-
VK_ROLLDN
-
VK_ROLLUP
-
VK_BACK
-
VK_HOME
-
VK_END
-
VK_INSERT
-
VK_DELETE
-
VK_RESET
-
VK_PRINT
-
VK_HELP
-
VK_SYSREQ
-
VK_CLEAR
-
VK_REFRESH
-
VK_FIELDEXIT
-
VK_TESTREQ
-
VK_TOGGLE
-
VK_ERASE
-
VK_ATTENTION
-
VK_DUPLICATE
-
VK_FIELDMINUS
-
VK_FIELDPLUS
-
VK_PREVWORD
-
VK_NEXTWORD
-
VK_PREVFLD
-
VK_NEXTFLD
-
VK_FIELDHOME
-
VK_EXEC
-
VK_MEMO
-
VK_COPY_TEXT
-
VK_PASTE_TEXT
-
VK_NEWLINE
-
VK_ERASE_EOF
-
VK_KANJI
詳細については、5250 ターミナルのドキュメントを参照してください。
自動化を実行できるようにするために、Kofax RPA には次のキーが追加されています。
-
VK_VIRTUAL_FIELDEXIT
このキーは VK_FIELDEXIT として機能しますが、機能するのは、フィールドの最初の位置にカーソルが置かれていない場合に限られます。このキーを使用すると、完全に入力されていないフィールドを終了することができますが、カーソルが次のフィールドにラップされている場合は、FieldExit が抑制されます。
-
VK_DBCS_SPACE
DBCS 空間を入力します。
- 文字エンコード
-
ホストの文字エンコードを指定するには、[オプション] フィールドに LineCodePage パラメータを追加します。例:LineCodePage=cp838
tn5250 ターミナルの場合、Kofax RPA は ICU ライブラリでサポートされているすべての EBCDIC コードページをサポートします。LineCodePage 設定は、ホストへの接続に使用されるターミナル エミュレータのコード ページ設定またはターミナル セッションの QCHRID プロパティの値と一致する必要があります。
この表には、頻繁に使用される一部のコード ページが示されています。
文字セット ホスト コードページ US/Canada
cp037 (デフォルト)
Multinational
cp500
Thai
cp838
Japanese
cp930, cp939
Simplified Chinese
cp935
Korean
cp933
EBCDIC 273 とユーロ通貨の更新
cp1141
- デバイスの割り当て
- デフォルトでは、5250 ホストが、リクエストされたターミナル タイプに対応している最初のデバイスを割り当てるか、新しいデバイスの作成を試行します。ロボットが特定のデバイスに接続する必要がある場合は、[オプション] フィールドに env.DEVNAME=<device> パラメータを追加します。たとえば、iSeries ホストの DEVROBOT デバイスに接続するには:
env.DEVNAME=DEVROBOT
リクエストされたデバイスが存在しないか、そのターミナル タイプに対応していない場合、またはデバイスがオフあるいは使用中である場合は、接続が失敗します。
- 強化された 5250 インターフェイス サポート
- プログラムできないワークステーションがホスト上で実行されている場合に、強化されたインターフェイスを有効にするには、[オプション] フィールド に enhanced=on クエリ パラメータを追加します。
この設定を使用すると、継続的に入力するフィールドのサポートが有効になります。
注 拡張インターフェイスが有効の場合、DirectDraw 表面ウィンドウとグラフィカル機能はサポートされません。
-
- アプリケーション アクション
-
[アプリケーション アクション] メニューは、[レコーダー ビュー] の [ターミナル] タブを右クリックすると表示されます。メニューには、tn5250 ターミナルの次の項目が含まれます。
アクション
説明
[閉じる]
[ターミナル] ウィンドウを閉じます。
[ステップを移動] (行、列)
アプリケーション ツリーで使用されている行/列の座標に基づいて、指定した位置にカーソルを移動します。各パラメータは、水平方向および垂直方向の移動を容易にするためのオプションです。
[フィールドに入力] (テキスト)
指定したテキストをフィールドに入力し、[FieldExit] キーを使用して次のフィールドに進みます。
- 3270 ターミナル
- Kofax RPA では、基盤となるターミナル エミュレータのデフォルトである 3279-4 カラー 80x43 ターミナルをサポートしています。
3270 ターミナルは、現在の PC キーボードでは利用できない複数のキーを備えた特殊なキーボードを使用していました。このようなキーを入力するには、キー プレスで次の計算キーを使用できます。
-
VK_RETURN
-
VK_TAB
-
VK_BACKTAB
-
VK_Up
-
VK_Down
-
VK_Left
-
VK_Right
-
VK_F1
-
VK_F2
-
VK_F3
-
VK_F4
-
VK_F5
-
VK_F6
-
VK_F7
-
VK_F8
-
VK_F9
-
VK_F10
-
VK_F11
-
VK_F12
-
VK_F13
-
VK_F14
-
VK_F15
-
VK_F16
-
VK_F17
-
VK_F18
-
VK_F19
-
VK_F20
-
VK_F21
-
VK_F22
-
VK_F23
-
VK_F24
-
VK_ATTENTION
-
VK_BACKSPACE
-
VK_CLEAR
-
VK_DELETE
-
VK_DUPLICATE
-
VK_HOME
-
VK_INSERT
-
VK_PA1
-
VK_PA2
-
VK_PA3
- 文字コード
-
ホストの文字エンコードを指定するには、[オプション] フィールドに charset パラメータを追加します。例:
charset=cp930
Kofax RPA は、tn3270 ターミナルの次の文字セットをサポートしています。
文字名
ホスト コードページ
belgian
500
belgian-euro
1148
bracket
037
brazilian
275
chinese-gb18030
1388
cp1047
1047
cp870
870
finnish
278
finnish-euro
1143
french
297
french-euro
1147
german
273
german-euro
1141
greek
423
hebrew
424
icelandic
871
icelandic-euro
1149
italian
280
italian-euro
1144
japanese-kana
930
japanese-latin
939
norwegian
277
norwegian-euro
1142
russian
880
simplified-chinese
935
slovenian
870
spanish
284
spanish-euro
1145
swedish
278
swedish-euro
1143
thai
1160
traditional-chinese
937
turkish
1026
uk
285
uk-euro
1146
us-euro
1140
us-intl
037
- connecttimeout
-
ホストが一時的に利用できない場合 (つまり、ホストに到達できない場合、または接続が拒否された場合) にドライバーの待機時間を指定するには、オプション フィールドに connecttimeout パラメータを追加して、タイムアウトを秒単位で入力します。例:
connecttimeout=5
このパラメータを省略すると、ドライバーは 20 秒間待機します。
解決できない理由によって、または接続を再試行できない (ホスト名を解決できない) ために接続が失敗した場合、ドライバーはすぐに失敗します。
- アプリケーション アクション
-
[アプリケーション アクション] メニューは、[レコーダー ビュー] の [ターミナル] タブを右クリックすると表示されます。メニューには、tn3270 ターミナルの次の項目が含まれます。
アクション
説明
[閉じる]
[ターミナル] ウィンドウを閉じます。
[ステップを移動] (行、列)
アプリケーション ツリーで使用されている行/列の座標に基づいて、指定した位置にカーソルを移動します。各パラメータは、水平方向および垂直方向の移動を容易にするためのオプションです。
-
- SSH / Telnet の設定 (vt100 および ANSI)
-
SSH 接続を使用するには、「ターミナル」ステップでエミュレータに [接続 (SSH)] を選択します。基盤となる Kofax RPA SSH クライアントは PuTTY に基づいており、PuTTY がアクセスできる任意のシステムにアクセス可能になるように設定できます。PuTTY セッションと同じパラメータをすべて設定できますが、実際の PuTTY クライアントでセッションを定義をする必要はなく、[オプション] フィールドにオプションのパラメータを追加することでセッション設定を定義できます。
ヘッドレス ターミナルは、サーバー上のコード ページを自動的には検出しません。このため、ASCII 以外の文字を送受信するには、文字のエンコードとデコードに使用するコード ページを指定する必要があります。コード ページを指定しない場合、ロボットはサーバーのロケールが UTF-8 に設定されているとみなします。コード ページを指定するには、ステップの [オプション] フィールドで LineCodePage パラメータを使用します。Kofax RPA ターミナルは、文字エンコーディングに "libicu" を使用して構築されています。コード ページとエイリアスを調べるには、http://demo.icu-project.org/icu-bin/convexp?s=ALL にある libicu コンバータ エクスプローラを使用します。サポートされている文字セットのリストは、ICU (Unicode の国際コンポーネント) ライブラリのリストと同じです。詳細については、ICU のドキュメントを参照してください。
ストリームベースのターミナルで最も一般的に使用されるパラメータのリストを以下の表に示します。
TermWidth
ターミナルの幅を設定します (デフォルトは 80)。
TermHeight
ターミナルの高さを設定します (デフォルトは 24)。
AutoWrap
自動行折り返しを制御します (デフォルトは N)。行折り返しを有効にするには Y に設定します。このパラメータは vt100 ターミナルにのみ適用されます。
TerminalType
ターミナルのタイプを設定します (デフォルトは "xterm" )。
LineCodePage
文字のエンコードとデコードに使用するコード ページを指定します (デフォルトは UTF-8)。
セッションに関するパラメータを設定するには、[ターミナル] ステップの [オプション] フィールドにパラメータを入力します。オプションはアンパサンド (&) で区切ります。
以下の接続オプションがサポートされています。
SessionFile
デフォルトの PuTTY 設定ファイルを設定します。このオプションを指定しない場合は、bin ディレクトリ内の session.plink ファイルが使用されます。
PublicKeyFile
認証の SSH キー ファイルを指定します。このファイルは PuTTY の秘密鍵の形式で指定する必要があります。
SSHUser
この設定は、URI の user@host のユーザー名の部分にオーバーライドします。ユーザーを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
SSHPassword
この設定は、URI の user:password@host のパスワードの部分にオーバーライドします。このオプションを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
SSHHostKey
ホストを設定する SSH ホスト キーを設定します。この設定を使用して、値がホストから送信されたホスト キーと一致しない場合には、接続は拒否されます。この設定を省略し、PuTTY 設定ファイルを使用して設定したホスト キーがない場合、ロボットにダイアログがインタラクティブに表示されるため、ロボットはキーを承認するダイアログを処理する必要があります。ロボットは Windows のレジストリを無視するため、ホスト キーを格納しないことに注意してください。
SSHLog
トラブルシューティングに使用する SSH レベルのログを有効にします。
NetworkTrace
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
- アプリケーション アクション
-
[アプリケーション アクション] メニューは、[レコーダー ビュー] の [ターミナル] タブを右クリックすると表示されます。メニューには、vt100 ターミナルの次の項目が含まれます。
アクション
説明
[閉じる]
[ターミナル] ウィンドウを閉じます。
- SSH 認証およびセキュリティガイド
- SSH を使用してアプリケーションを自動化するとき、ユーザーの認証方法には 4 つの方法を使用できます。
- 基盤となる SSH クライアントでパスワードの入力を要求されます。「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用してパスワードを入力します。
- 暗号化されていないプライベート キーは、Design Studio および RoboServer のファイル システムに配置することができます。[ターミナル] ステップの [オプション] フィールドに PublicKeyFile=[パスのキー] という行を追加します。
キーファイルは PuTTY 形式にすることが重要です。Linux では、 puttygen を使ってオープンな ssh 秘密鍵を変換することができます。
- 暗号化されたプライベート キーは、Design Studio および RoboServer のファイル システムに配置することができます。[オプション] フィールドに PublicKeyFile=<path to key> を追加します。基盤となる SSH クライアントで接続時にパスワードを要求されます。パスワードを入力するには、「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用します。
- ローカル ファイル システムで暗号化キーと、Windows では Pageant、Linux では ssh-agent を使用します。
- Windows では、RoboServer を実行している同じユーザーとして Pageant を実行し、キーを追加します。
-
Linux では、ssh-agent と ssh-add を実行し、SSH_AUTH_SOCK と SSH_AGENT_PID 環境変数を RoboServer と Design Studio 環境にコピーします。以下のように、RoboServer.conf と DesignStudio.conf に行を追加することで実現できます。
- set.SSH_AUTH_SOCK=<value as outputted from ssh-agent>
- set.SSH_AGENT_PID=<value as outputted from ssh-agent>
または、RoboServer および Design Studio を起動する前に環境変数を設定します。
上記の認証方法を、最も安全性の低いものから最も高いものまで以下に示します。
- ロボットを読むことができるすべてのユーザーがパスワードを抽出してシステムにログオンできる。
- 攻撃者は、ファイル システムからプライベート キーを取得する必要があるため、Management Console からロボットを取得するだけではログオンできない。
- 攻撃者は、ロボットとプライベート キー ファイルの両方が必要になる。
- 攻撃者は、アクセスのためにプライベート キーのパスワードを取得する必要がある。
- TLS/SSL を使用
- Kofax RPA はターミナルでの TLS / SSL 通信をサポートしています。TLS/SSL を使用するには、「ターミナル」ステップで stn3270 または stn5250 ターミナルを使用し、ホスト名または IP アドレスと適切なポート番号を指定して、[セキュアな接続] を選択します。Kofax RPA は、サーバーによって提示された証明書を検証しないことに注意してください。