ターミナルの自動化

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」(セキュリティ) を参照してください。

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

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

フォント

Kofax RPA は、ターミナルのスクリーンをレンダリングするために、複数のフォントをバンドルしています。フォントは以下のパスにあります。

C:\Program Files\Kofax RPA 10.4.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 つの方法を使用できます。
  1. 基盤となる SSH クライアントでパスワードの入力を要求されます。「テキストを入力」ステップ、次に「キープレス」ステップ (リターン) を使用してパスワードを入力します。
  2. 暗号化されていないプライベート キーは、Design Studio と RoboServer のファイル システムに置くことができます。接続 URL に PublicKeyFile=<path to key> 行を追加します。接続 URL は次のようになります。

    ssh://<username>@<hostname>?PublicKeyFile=<path to key file>

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

  3. 暗号化されたプライベート キーは、Design Studio と RoboServer のファイル システムに置くことができます。接続 URL に 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.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 の開始時に環境に設定しておきます。

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

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