ターミナルの自動化
Kofax RPA は、3270、5250、6530 およびストリーム ベース (VT2XX) ターミナルとの接続および通信に対応しています。
ターミナル自動化のコマンド タイムアウトは、Design Studio でワークフローを実行するための Design Studio 設定ウィンドウにある [Desktop Automation] タブ、または RoboServer 実行のための [RoboServer 設定] ウィンドウの [セキュリティ] タブにある [Desktop Automation] セクションで設定します。『Kofax RPA Administrator's Guide』(Kofax RPA 管理者ガイド) の「Runtime」(ランタイム) >「Security」(セキュリティ) を参照してください。
マウス移動 ステップとクリック ステップを挿入することはできますが、ターミナルはマウス操作に対応していません。ターミナルはキーボードのキーを使用して操作する必要があります。
- フォント
-
Kofax RPA は、ターミナルのスクリーンをレンダリングするために、複数のフォントをバンドルしています。フォントは以下のパスにあります。
C:\Program Files\Kofax RPA 10.7.0\nativelib\hub\windows-x32\XXX\fonts
ここでは、XXX は内部目的用の 3 桁の数字です。
バンドルされたフォントにない文字を使用するホストとのターミナル接続が確立されると、文字は画面上で四角形としてレンダリングされます。これは、同じ Kofax RPA フォント ディレクトリにある fontlist.txt ファイルの Truetype フォントにパスを追加することで修正ができます。例:
C:\TerminalFonts\MyTerminalFont.ttf
- TN6530 ターミナル
-
6530 ターミナルに接続するには、次の接続文字列を使います。
Telnet 接続の場合:
tn6530://<host>[:<port>][?<options>]
SSH 接続の場合:
ssh6530://[<cred>@]<host>[:<port>][?<options>]
ここで host はホスト名または IP アドレス、port はターミナル接続のポート番号、options はアンパサンド文字 (&) で区切られた key =value ペア形式の接続オプションのリストです。オプションの cred には SSH 接続のクレデンシャルを指定します。
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 に対応して機能します。
-
- 接続オプション
-
接続文字列は汎用の URI 形式で、パーセント (%) エスケープ文字を含むことができます。
tn6530: 接続文字列を使用すると、別のポートを明示的に指定した場合を除き Telnet サービス (ポート 23) に接続します。
以下のオプションがサポートされています。
-
NetworkTrace=<logfile>
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
-
ColorMap=<color-map>
ターミナルをカラー サポートに設定し、オプションでデフォルトのカラー マップを提供します。
-
LineBuffer=<lines>
ターミナルのバッファリングされる行数を設定します。これらの行は、ページング/スクロールに使用できます。指定できる値は 24~65536 です。指定しない場合、ターミナルは 1024 行のバッファを保持します (対話モードのみ)。
ssh6530: 接続文字列を使用すると、別のポートを明示的に指定した場合を除き SSH サービス (ポート 22) に接続します。
URI の SSH ログイン クレデンシャルは、<user>@ または <user>:<password>@ のいずれかのプレフィックスをホスト名に加えるか、URI オプションを使用して指定することができます。
以下のオプションがサポートされています。
-
SessionFile=<template>
デフォルトの PuTTY 設定ファイルを設定します。このオプションを指定しない場合は、bin ディレクトリ内の session.plink ファイルが使用されます。
-
PublicKeyFile=<file>
認証の SSH キー ファイルを指定します。このファイルは PuTTY の秘密鍵の形式で指定する必要があります。
-
SSHUser=<user>
SSH ユーザー。この設定は、URI の user@host のユーザー名の部分にオーバーライドします。ユーザーを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
-
SSHPassword=<password>
SSH パスワード。この設定は、URI の user:password@host のパスワードの部分にオーバーライドします。このオプションを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
-
SSHHostKey=<hostkey>
ホストを設定する SSH ホスト キーを設定します。この設定を使用して、値がホストから送信されたホスト キーと一致しない場合には、接続は拒否されます。
この設定を省略し、PuTTY 設定ファイルを使用して設定したホスト キーがない場合、ロボットにダイアログがインタラクティブに表示されるため、ロボットはキーを承認するダイアログを処理する必要があります。ロボットは Windows のレジストリを無視するため、ホスト キーを格納しないことに注意してください。
-
SSHLog=<logfile>
トラブルシューティングに使用する SSH レベルのログを有効にします。
-
NetworkTrace=<logfile>
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
-
ColorMap=<color-map>
ターミナルをカラー サポートに設定し、オプションでデフォルトのカラー マップを提供します。
-
LineBuffer=<lines>
ターミナルのバッファリングされる行数を設定します。これらの行は、ページング/スクロールに使用できます。指定できる値は 24~65536 です。指定しない場合、ターミナルは 1024 行のバッファを保持します (対話モードのみ)。
その他の URI オプションは、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:」マーカーでトラッキングされます。
-
- tn5250 ターミナル
- 5250 ターミナルに接続するには、次の接続文字列を使います。
tn5250://<hostname>:<portnumber>?env.TERM=<terminal type>.
ここで、hostname はターミナル名または IP アドレス、portnumber はターミナル接続のポート番号、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 空間を入力します。
5250 ターミナルに接続して情報を抽出する方法については、基本 ターミナル チュートリアルを参照してください。
- 文字エンコード
-
ホストの文字コードを指定するには、URI に charset クエリ パラメータを追加します。例:
tn5250://hostname:port?LineCodePage=cp838
Kofax RPA は、tn5250 ターミナルの次の文字セットをサポートしています。
文字名 ホスト コードページ US/Canada
cp037 (デフォルト)
Multinational
cp500
Thai
cp838
Japanese
cp930
Simplified Chinese
cp935
Korean
cp933
- デバイスの割り当て
- デフォルトでは、5250 ホストが、リクエストされたターミナル タイプに対応している最初のデバイスを割り当てるか、新しいデバイスの作成を試行します。ロボットが特定のデバイスに接続する必要がある場合は、env.DEVNAME=<device> クエリ パラメータを追加します。たとえば、iSeries ホストの DEVROBOT デバイスに接続するには:
tn5250://iSeries:port?env.TERM=IBM-3477-FC&env.DEVNAME=DEVROBOT
リクエストされたデバイスが存在しないか、そのターミナル タイプに対応していない場合、またはデバイスがオフあるいは使用中である場合は、接続が失敗します。
- 強化された 5250 インターフェース サポート
- プログラムできないワークステーションがホスト上で実行されている場合に、強化されたインターフェースを有効にするには、URI に enhanced=on クエリ パラメータを追加します。例:
tn5250://hostname:port?LineCodePage=500&enhanced=on
この設定を使用すると、継続的に入力するフィールドのサポートが有効になります。
注 拡張インターフェイスが有効の場合、DirectDraw 表面ウィンドウとグラフィカル機能はサポートされません。
-
- 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
- 文字コード
-
ホストの文字コードを指定するには、URI に charset クエリ パラメータを追加します。例:
tn3270://hostname:port?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
-
- SSH / telnet 設定 (VT2XX)
-
基盤となる Kofax RPA SSH クライアントは PuTTY に基づいており、PuTTY がアクセスできる任意のシステムにアクセス可能になるように設定できます。PuTTY セッションと同じパラメータをすべて設定できますが、実際の PuTTY クライアントでセッションを定義をする必要はなく、接続 URL にパラメータを追加することでセッション設定を定義できます。
ヘッドレス ターミナルは、サーバー上のコード ページを自動的には検出しません。このため、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 に設定します。
TerminalType
ターミナルのタイプを設定します (デフォルトは "xterm" )。
LineCodePage
文字のエンコードとデコードに使用するコード ページを指定します (デフォルトは UTF-8)。
セッションのパラメータを設定するには、「開く」ステップに値を入力するときに URI に追加します。
ssh://<username>@<hostname>?TermWith=160&TermHeight=48&LineCodePage=UTF-16
以下の接続オプションがサポートされています。
SessionFile
デフォルトの PuTTY 設定ファイルを設定します。このオプションを指定しない場合は、bin ディレクトリ内の session.plink ファイルが使用されます。
PublicKeyFile
認証の SSH キー ファイルを指定します。このファイルは PuTTY の秘密鍵の形式で指定する必要があります。
SSHUser
この設定は、URI の user@host のユーザー名の部分にオーバーライドします。ユーザーを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
SSHPassword
この設定は、URI の user:password@host のパスワードの部分にオーバーライドします。このオプションを指定しなかった場合、ロボットにはダイアログがインタラクティブに表示されます。
SSHHostKey
ホストを設定する SSH ホスト キーを設定します。この設定を使用して、値がホストから送信されたホスト キーと一致しない場合には、接続は拒否されます。この設定を省略し、PuTTY 設定ファイルを使用して設定したホスト キーがない場合、ロボットにダイアログがインタラクティブに表示されるため、ロボットはキーを承認するダイアログを処理する必要があります。ロボットは Windows のレジストリを無視するため、ホスト キーを格納しないことに注意してください。
SSHLog
トラブルシューティングに使用する SSH レベルのログを有効にします。
NetworkTrace
ホストと交換されたすべてのデータを含むトレース ファイルを作成します。
- SSH 認証およびセキュリティガイド
- SSH を使用してアプリケーションを自動化するとき、ユーザーの認証方法には 4 つの方法を使用できます。
- 基盤となる SSH クライアントでパスワードの入力を要求されます。「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用してパスワードを入力します。
- 暗号化されていないプライベート キーは、Design Studio と RoboServer のファイル システムに置くことができます。接続 URL に PublicKeyFile=<path to key> 行を追加します。接続 URL は次のようになります。
ssh://<username>@<hostname>?PublicKeyFile=<path to key file>
キーファイルは PuTTY 形式にすることが重要です。Linux では、 puttygen を使ってオープンな ssh プライベート キーを変換することができます。
- 暗号化されたプライベート キーは、Design Studio と RoboServer のファイル システムに置くことができます。接続 URL に 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 を使用するには、Desktop Automation ワークフローの「開く」ステップで stn3270 または stn5250 ターミナルを開きます。例えば、stn3270://hostname:2023 のようにします。Kofax RPA は、サーバーによって提示された証明書を検証しないことに注意してください。