ターミナルの自動化

Kofax RPA は、3270、5250、6530 およびストリーム ベース (VT100 および ANSI) ターミナルとの接続および通信に対応しています。

ターミナル自動化のコマンド タイムアウトは、Design Studio でワークフローを実行するための Design Studio 設定ウィンドウにある [Desktop Automation] タブ、または RoboServer 実行のための [RoboServer 設定] ウィンドウの [セキュリティ] タブにある [Desktop Automation] セクションで設定します。『Kofax RPA 管理者ガイド』 の「ランタイム」>「セキュリティ」を参照してください。

ターミナル デバイスを自動化するときには、リモート コンピュータに Desktop Automation サービスをインストール、または Management Console でデバイス マッピングを作成する必要はありません。

マウス移動 ステップとクリック ステップを挿入することはできますが、ターミナルはマウス操作に対応していません。ターミナルはキーボードのキーを使用して操作する必要があります。

フォント

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 つの方法を使用できます。
  1. 基盤となる SSH クライアントでパスワードの入力を要求されます。「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用してパスワードを入力します。
  2. 暗号化されていないプライベート キーは、Design Studio および RoboServer のファイル システムに配置することができます。[ターミナル] ステップの [オプション] フィールドに PublicKeyFile=[パスのキー] という行を追加します。

    キーファイルは PuTTY 形式にすることが重要です。Linux では、 puttygen を使ってオープンな ssh 秘密鍵を変換することができます。

  3. 暗号化されたプライベート キーは、Design Studio および RoboServer のファイル システムに配置することができます。[オプション] フィールドに PublicKeyFile=<path to key> を追加します。基盤となる SSH クライアントで接続時にパスワードを要求されます。パスワードを入力するには、「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用します。
  4. ローカル ファイル システムで暗号化キーと、Windows では Pageant、Linux では ssh-agent を使用します。
    • Windows では、RoboServer を実行している同じユーザーとして Pageant を実行し、キーを追加します。
    • Linux では、ssh-agentssh-add を実行し、SSH_AUTH_SOCKSSH_AGENT_PID 環境変数を RoboServer と Design Studio 環境にコピーします。以下のように、RoboServer.confDesignStudio.conf に行を追加することで実現できます。

      • set.SSH_AUTH_SOCK=<value as outputted from ssh-agent>
      • set.SSH_AGENT_PID=<value as outputted from ssh-agent>

      または、RoboServer および Design Studio を起動する前に環境変数を設定します。

上記の認証方法を、最も安全性の低いものから最も高いものまで以下に示します。

  1. ロボットを読むことができるすべてのユーザーがパスワードを抽出してシステムにログオンできる。
  2. 攻撃者は、ファイル システムからプライベート キーを取得する必要があるため、Management Console からロボットを取得するだけではログオンできない。
  3. 攻撃者は、ロボットとプライベート キー ファイルの両方が必要になる。
  4. 攻撃者は、アクセスのためにプライベート キーのパスワードを取得する必要がある。
TLS/SSL を使用
Kofax RPA はターミナルでの TLS / SSL 通信をサポートしています。TLS/SSL を使用するには、「ターミナル」ステップで stn3270 または stn5250 ターミナルを使用し、ホスト名または IP アドレスと適切なポート番号を指定して、[セキュアな接続] を選択します。Kofax RPA は、サーバーによって提示された証明書を検証しないことに注意してください。