スクリプト仕様説明

    スクリプト仕様説明


    記事の要約

    スクリプトファイルの構成例や記述形式、コマンドの利用方法について説明します。

    スクリプトファイルの基本的な構成例

    オートログインスクリプトに共通する基本的な構成例を下記に示します。

    ファイル仕様

    スクリプトファイルの仕様は、下表の通りです。

    スクリプトファイル仕様

    No仕様内容
    1ファイル名拡張子(.sso)を含めて64文字以内の文字列で指定します。
    2ファイル拡張子.sso

    例)RDP_DR.sso
    3文字コードUTF-8(BOMなし)
    4改行コードCR+LF(0x0D+0x0A)
    5コメント行#(半角シャープ)
    61行に記載出来るコマンド数1コマンド

    1コマンドを複数行に分割して記載する事は出来ません。
    7コマンド引数スペースを含む値をコマンドの引数とする場合、値を半角ダブルクォーテーション(")で囲んで使用します。

    例)”C:\Program Files\teraterm\teraterm.exe”
    8スクリプト変数各コマンドで使用する文字列に、特殊文字列を指定する事で、iDoperationで管理されている値を利用する事が出来ます。
    9ラベル:(半角コロン)

    gotoコマンドで指定する処理ジャンプ先を記述します。
    半角コロンに続いて任意の半角文字で記述します。

    例):sso_exec_failure01

    スクリプト変数

    スクリプトファイル内ではスクリプト変数と呼ばれる特殊文字列が使用出来ます。

    以下、スクリプト変数の一覧と概要について説明します。

    No変数名(*1)概要
    1{LOGINID}iDoperationログインID
    2{LOGINPWD}上記ログインIDのパスワード
    3{IPADDR}オートログイン対象ターゲットのIPアドレス/ホスト名
    4{TGDOMAINNAME}オートログイン対象ターゲットのドメイン名
    5{ACCOUNT}オートログイン対象アカウント名
    6{PASSWORD}上記アカウントのパスワード
    7{ROOTPWD}昇格アカウントのパスワード
    8{DOMAINIP}ドメインターゲットのIPアドレス/ホスト名
    9{DOMAINNAME}ドメイン名
    10{DOMAINPWD}上記アカウントのパスワード
    11{POSTDOMAINNAME}

    ドメインアカウントを使用する際のユーザ@ドメイン名の「@ドメイン名」部分
    ※ドメイン不要なターゲットの場合は、{ACCOUNT}{POSTDOMAINNAME}定義しても、{POSTDOMAINNAME}は空となります。

    12{PASSPHRASE}秘密鍵ファイルのパスフレーズ
    13{PORT}オートログイン対象ターゲットのポート番号
    14{DBNAME}データベース:データベース名(SQL Server)/サービス名(Oracle)
    15{DBID}データベース:インスタンス名(SQL Server)/DBID(Oracle)
    16{DBSID}データベース:SID(Oracle)
    17{%ENVNAME}クライアント端末の環境変数(*2)
    18{USERTEMP}Tempディレクトリ(User)のパス
    19{INSTALL}iDoperation Clientインストールディレクトリのパス
    20{TTERM}TeraTermインストールディレクトリのパス
    21{FFFTP}FFFTPインストールディレクトリのパス
    22{WINSCP}WinSCPインストールディレクトリのパス
    23{VMC}VMWare Clientインストールディレクトリのパス
    24{ACTYPE}オートログイン対象アカウントの種別

    (Microsoft Entra ID)
    1:メンバ、2:ゲスト

    (SQL Server、Amazon RDS for SQL Server)
    1:SQL Server認証、2:Windows認証
    25{APPNUM}オートログインを申請した申請書の番号

    (*1)スクリプト変数記述時は大文字・小文字は区別されません。{USERID}と{userid}は同じスクリプト変数として扱われます。
    (*2)「ENVNAME」部分は実際の環境変数名を記述します。

    コマンド仕様

    オートログインスクリプト中で利用出来るコマンドの主な機能は次の通りです。

    No機能コマンド名概要
    1アプリケーション起動execGUIプログラム実行
    waitexecGUIプログラム実行(終了待機)
    cexecCUIプログラム実行
    waitcexecCUIプログラム実行(終了待機)
    2ウィンドウ制御waitwindowウィンドウ表示待機
    focusウィンドウフォーカス
    3マウス制御mouselockマウス入力禁止/禁止解除
    clickマウスクリック
    movemouseマウス移動
    4IME制御imeonIME全角入力モード
    imeoffIME半角入力モード
    imerestoreIME状態復元
    5キーボード制御sendkeysキーボードイベント送信
    keyboardlockキーボード入力禁止/禁止解除
    6ファイル操作download秘密鍵ダウンロード
    deleteファイル削除
    decryptファイル復号
    7スクリプト処理cdカレントディレクトリ変更
    wait処理待機
    messageboxメッセージボックス表示
    strcmp文字列比較
    isnullスクリプト変数NULLチェック
    if処理分岐
    goto処理ジャンプ
    endスクリプト終了

    ※コマンド引数にスペースが含まれる場合、値を半角ダブルクォーテーション(”)で囲む必要があります。

    アプリケーション起動

    GUIプログラム実行

    コマンド

    exec

    説明

    指定したプログラム(GUIアプリケーション)を実行します。

    書式

    exec program_filename {program_args…}


    引数

    program_filename

    【必須】

    実行するプログラムのパスを指定します。

    絶対パス・相対パス(*1)ともに指定出来ます。

    環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。

    program_args

    引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【TeraTerm】

    exec "{TTERM}ttermpro.exe" {IPADDR}:22 /ssh /2 /auth=password /user={ACCOUNT} /passwd="{PASSWORD}"

    (*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。

    GUIプログラム実行(終了待機)

    コマンド

    waitexec

    説明

    指定したプログラム(GUIアプリケーション)を実行します。

    実行したプロセスが終了するまで待機し、終了後次の処理へ進みます。

    書式

    waitexec program_filename {program_args…}


    引数

    program_filename

    【必須】

    実行するプログラムのパスを指定します。

    絶対パス・相対パス(*1)ともに指定出来ます。

    環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。

    program_args

    引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【リモートデスクトップ接続】

    waitexec wscript.exe //B ".\bin\rdp\RDPRun.vbe" ".\bin\rdp\idoperation.rdp" "{IPADDR}" "" "{ACCOUNT}" "{PASSWORD}"

    (*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。

    CUIプログラム実行

    コマンド

    cexec

    説明

    指定したプログラム(CUIアプリケーション)を実行します。

    書式

    cexec program_filename {program_args…}


    引数

    program_filename

    【必須】

    実行するプログラム(コンソールアプリケーション)のパスを指定します。

    絶対パス・相対パス(*1)ともに指定出来ます。

    環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。

    program_args

    引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【SQL*Plus】

    cexec sqlplus {ACCOUNT}/{PASSWORD}@{IPADDR}:{PORT}/{DBNAME}

    CUIプログラム実行(終了待機)

    コマンド

    waitcexec

    説明

    指定したプログラム(CUIアプリケーション)を実行します。

    実行したプロセスが終了するまで待機し、終了後次の処理へ進みます。

    書式

    waitcexec program_filename {program_args…}


    引数

    program_filename

    【必須】

    実行するプログラム(コンソールアプリケーション)のパスを指定します。

    絶対パス・相対パス(*1)ともに指定出来ます。

    環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。

    program_args

    引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【SQL*Plus】

    waitcexec sqlplus {ACCOUNT}/{PASSWORD}@{IPADDR}:{PORT}/{DBNAME}

    (*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。

    ウィンドウ制御

    ウィンドウ表示待機

    コマンド

    waitwindow

    説明

    指定したウィンドウが表示されるまでスクリプト処理を待機します。

    書式

    waitwindow window_title {maxtime}


    引数

    window_title

    【必須】

    操作するウィンドウのタイトルを文字列で指定します。

    スクリプト変数を指定する事も可能です。

    maxtime

    最大待機時間(単位:ミリ秒)を指定します。

    この値を指定しない場合、最大待機時間はデフォルト値(10000ミリ秒=10秒)となります。

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    4

    ウィンドウ出現待ちタイムアウト

    サンプル

    【maxtime指定あり】

    waitwindow "リモート デスクトップ接続" 3000

    ウィンドウフォーカス

    コマンド

    focus

    説明

    指定したウィンドウをアクティブにします。

    書式(1) タイトルが指定文字列と一致したウィンドウをアクティブにします。ウィンドウ特定のため、所有モジュール名を指定する事も可能です。

    書式(2) タイトルが指定文字列と一致し、かつ指定コントロール内の文字列と比較対象文字列が一致するウィンドウをアクティブにします。

    書式

    (1) focus window_title {module_name}

    (2) focus window_title automation_ID string


    (1)引数

    window_title

    【必須】

    アクティブにするウィンドウのタイトルを文字列で指定します。

    文字列にはワイルドカード(*)を使用出来ます。スクリプト変数を指定する事も可能です。

    module_name

    アクティブにするウィンドウを特定するための所有モジュール名を絶対パスで指定します。

     

    大文字/小文字は区別されません。

    "C:¥Program Files"と"C:¥Progra~1"等、ロングファイル名/ショートファイル名は区別されます。

    (2)引数


    window_title

    【必須】

    アクティブにするウィンドウのタイトルを文字列で指定します。

    文字列にはワイルドカード(*)を使用出来ます。スクリプト変数を指定する事も可能です。

    automation_ID
     【必須】

    比較対象文字列が存在するコントロールのIDを指定します。

    主要オートメーションIDについては『付録』-『主要オートメーションIDリスト』を参照してください。

    string
     【必須】

    比較する文字列を指定します。

    スクリプト変数を指定する事も可能です。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    3

    パラメータ不足

    200

    比較文字列不一致

    サンプル

    【ウィンドウタイトルのみ、ワイルドカード使用】

    focus "{IPADDR}* - * VT"

     

    【モジュール名指定】

    focus "リモート デスクトップ接続" "C:\Windows\System32\mstsc.exe"

     

    【コントロールID指定】

    focus "リモート デスクトップ接続" 5011 "コンピューター(C)"

    マウス制御

    マウス入力禁止/禁止解除

    コマンド

    mouselock

    説明

    ユーザによるマウスの入力について禁止または許可(禁止解除)を設定します。

    書式

    mouselock (operation)

     

    引数

    operation

    【いずれか必須】

    制御内容を指定します。

    on

    禁止

    off

    許可(禁止解除)

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【マウス入力禁止】

    mouselock on

    マウスクリック

    コマンド

    click

    説明

    マウスクリックを行います。

    書式

    click (button) {operation}

     

    引数

    button

    【いずれか必須】

    クリックするマウスボタンを指定します。

    left

    左クリック

    right

    右クリック

    operation

    クリック動作を指定します。

    (指定なし)

    シングルクリック

    double

    ダブルクリック

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【右シングルクリック】

    click right

     

    【左ダブルクリック】

    click left double

    マウス移動

    コマンド

    movemouse

    説明

    指定した座標にマウスを移動します。

    書式

    movemouse x y


    引数

    x

    【必須】

    マウスの移動先を座標で指定します。

    x=0がデスクトップの左上を指します。

    y

    【必須】

    マウスの移動先を座標で指定します。

    y=0がデスクトップの左上を指します。

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【マウス移動】

    movemouse 150 200

    IME制御

    IME全角入力モード

    コマンド

    imeon

    説明

    最前面ウィンドウに対してIMEを「全角入力モード」に設定します。

    書式

    imeon


    引数

    なし

    戻り値

    0

    成功

    1

    コマンド実行失敗

    サンプル

    【IMEオン】

    imeon

    IME半角入力モード

    コマンド

    imeoff

    説明

    最前面ウィンドウに対してIMEを「半角入力モード」に設定します。

     

    sendkeysコマンドを使用する場合、その直前に指定してください。

    書式

    imeoff


    引数

    なし                     

    戻り値

    0

    成功

    1

    コマンド実行失敗

    サンプル

    【IMEオフ】

    imeoff

    IME状態復元

    コマンド

    imerestore

    説明

    imeoffコマンドの実行により変更された最前面ウィンドウのIMEの状態をimeoffコマンド実行前の状態に戻します。

     

    imeoffコマンド実行後に最前面ウィンドウが変更された場合、imerestoreを実行してもIMEの状態はimeoffコマンド実行前の状態には戻りません。

     

    sendkeysコマンドを使用する場合、その直後に指定してください。

    書式

    imerestore


    引数

    なし

    戻り値

    0

    成功

    1

    コマンド実行失敗

    サンプル

    【IME状態復元】

    imerestore

    キーボード制御

    キーボードイベント送信

    コマンド

    sendkeys

    説明

    最前面ウィンドウにキーボード入力を行います。

    書式

    sendkeys keystring {flag}

     

    引数

    keystring

    【必須】

    入力するキーボードボタンを指定します(複数指定可能)

    キーボードキー[A]が押下された事を表したい時はA という文字を指定します。スクリプト変数も指定可能です。

     

    記号「{」および「}」を送信する事は出来ません。

    日本語キーボード使用時には記号「^」を送信する事は出来ません。

     

    文字で表せないコードは{ }で囲み、下表のように指定します。

    BACKSPACE

    {BACKSPACE}、{BS}、または{BKSP}

    BREAK

    {BREAK}

    CAPS LOCK

    {CAPSLOCK}

    DEL

    {DELETE}または{DEL}

    DOWN ARROW

    {DOWN}

    END

    {END}

    ENTER

    {ENTER}または~

    ESC

    {ESC}

    HELP

    {HELP}

    HOME

    {HOME}

    INS

    {INSERT}または{INS}

    LEFT ARROW

    {LEFT}

    NUM LOCK

    {NUMLOCK}

    PAGE DOWN

    {PGDOWN}

    PAGE UP

    {PGUP}

    PRINT SCREEN

    {PRTSC}(予約)

    RIGHT ARROW

    {RIGHT}

    SCROLL LOCK

    {SCROLLLOCK}

    TAB

    {TAB}

    UP ARROW

    {UP}

    F1-F16

    {F1}…{F16}

    加算記号

    {ADD}

    減算記号

    {SUBTRACT}

    乗算記号

    {MULTIPLY}

    除算記号

    {DIVIDE}

    SHIFT(左右区別なし)

    +

    CTRL(左右区別なし)

    ^

    ALT(左右区別なし)

    %

    左SHIFT

    +<

    左CTRL

    ^<

    左ALT

    %<

    右SHIFT

    +>

    右CTRL

    ^>

    右ALT

    %>

    flag

    sendkeys内での特殊文字(+、%、~、(、))を本来の文字として使用するか、特殊文字として使用するかを指定します。

    true

    本来の文字として使用

    false

    特殊文字として使用

    (指定なし)

    falseと同様 

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【Alt+Nボタン】

    sendkeys %N

     

    【CAPS LOCK+スクリプト変数(パスワード)】

    sendkeys {CAPSLOCK}{PASSWORD}

     

    【『+test』を送信】

    sendkeys +test true

     

    【『Test』を送信】

    sendkeys +test false

    キーボード入力禁止/入力解除

    コマンド

    keyboardlock

    説明

    ユーザによるキーボード入力について禁止または許可(禁止解除)を設定します。

    書式

    keyboardlock (operation)

     

    引数

    operation

    【いずれか必須】

    制御内容を指定します。

    on

    禁止

    off

    許可(禁止解除)

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【キーボード入力禁止】

    keyboardlock on

    ファイル操作

    秘密鍵ファイルダウンロード

    コマンド

    download

    説明

    秘密鍵ファイルをダウンロードします。

    ダウンロード先はユーザTempフォルダ(*1)となります。

    書式

    download account type


    引数

    account

    【必須】

    オートログインに利用する秘密鍵ファイルが紐づけられているアカウント名を指定します。

    ここで指定したアカウント名が保存されるファイル名となります。

    type

    【必須】

    秘密鍵ファイルの種別を指定します。

    指定値の意味は下記表の通りです。

    0

    OpenSSH形式

    1

    PuTTY形式

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【OpenSSH形式】

    download {ACCOUNT} 0

    (*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。

    ファイル削除

    コマンド

    delete

    説明

    引数で指定したファイルを削除します。

    書式

    delete file


    引数

    file

    【必須】

    削除するファイル名またはファイルパス(絶対/相対)を指定します。

    ファイル名のみを指定した場合はユーザTempフォルダ(*1)配下から削除します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    3

    パラメータ不足

    サンプル

    【指定したパスのファイルを削除】

    delete “C:\Program Files\iDoperation Client\log\client.log”

     

    【ユーザTempフォルダ内のファイル(downloadで取得した秘密鍵)を削除】

    delete {ACCOUNT}

    (*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。

    ファイル復号

    コマンド

    decrypt

    説明

    引数で指定したファイルを復号し、同名の復号済みファイル(文字コードShift-JISで保存)をユーザTempフォルダ(*1)に配置します。既に同名のファイルがユーザTempフォルダ内に存在する場合、既存のファイルを上書きします。

    ファイルはiDoperation専用アルゴリズムで暗号化されている必要があります。(*2)

    書式

    decrypt file {encoding}


    引数

    file

    【必須】

    復号するファイル名を指定します。

    復号するファイルは<Clientインストールフォルダ\bin\tool>配下に存在する必要があります。

    encoding

    復号するファイルの暗号化前の文字コードを指定します。(*3)

    文字コードを指定しなかった場合、元ファイルはUTF-8(BOM無し)として解釈され、復号が実行されます。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    3

    パラメータ不足

    サンプル

    【TeraTermマクロを復号】

    decrypt TT.sso

     

    【リモートデスクトップ接続用vbsを復号】

    decrypt TTRun.vbs shift_jis

    (*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。
    (*2) 対象ファイルは<Clientインストールフォルダ\bin\tool>に同梱されているiDoperation独自方式で暗号化されたファイルのみです。
    (*3) 指定できる文字コード名は下記URLの表における「name」カラムの値です。
    https://docs.microsoft.com/ja-jp/dotnet/api/system.text.encoding?view=netframework-4.7.2

    スクリプト処理

    カレントディレクトリ変更

    コマンド

    cd

    説明

    カレントディレクトリを変更します。

    書式

    cd directory


    引数

    directory

    【必須】

    変更先のディレクトリパスを指定します。

    絶対パス・相対パスともに指定出来ます。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    3

    パラメータ不足

    サンプル

    【カレントディレクトリ変更(絶対パス)+プログラム実行】

    cd "C:\Program Files\teraterm"

    exec ttermpro.exe

     

    【カレントディレクトリ変更(相対パス)+プログラム実行】

    cd "C:\Program Files\iDoperation Client\bin"

    cd "..\..\teraterm"

    exec ttermpro.exe

    (*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。

    処理待機

    コマンド

    wait

    説明

    指定した時間、処理実行を待機します。デフォルトの単位はミリ秒です。

    書式

    wait time {unit}


    引数

    time

    【必須】

    待機時間を指定します。

    unit

    引数timeで指定した値の単位を指定します。

    指定値の意味は下記表の通りです。

    (指定なし)

    ミリ秒

    sec

    戻り値

    0

    成功

    2

    パラメータ不正

    3

    パラメータ不足

    サンプル

    【1000ミリ秒(=1秒)待機】

    wait 1000

     

    【1秒待機】

    wait 1 sec

    メッセージボックス表示

    コマンド

    messagebox

    説明

    OK ボタンが1つついたiDoperation Clientのメッセージボックスを表示します。

    書式

    messagebox text {title}


    引数

    text

    【必須】

    メッセージボックスに表示する文字列を指定します。

    スクリプト変数を指定する事も可能です。

    title

    メッセージボックスのタイトルを指定します。

    省略した場合、タイトルは「エラー」となります。

    戻り値

    0

    成功

    3

    パラメータ不足

    サンプル

    【タイトルあり】

    messagebox "リモートデスクトップ接続の起動に失敗しました。" "Err-100 オートログインエラー"

     

    【タイトルなし】

    messagebox "リモートデスクトップ接続の起動に失敗しました。"

    文字列比較

    コマンド

    strcmp

    説明

    指定されたウィンドウ内のコントロールの文字列と任意の文字列を比較します。

    書式

    strcmp window_title automation_ID string {flag}


    引数

    window_title

    【必須】

    比較対象文字列が存在するウィンドウのタイトルを文字列で指定します。スクリプト変数を指定する事も可能です。

    automation_ID
     【必須】

    比較対象文字列が存在するコントロールのIDを指定します。

    主要オートメーションIDについては『4.2主要オートメーションIDリスト』を参照してください。

    string
     【必須】

    比較する文字列を指定します。

    スクリプト変数を指定する事も可能です。

    flag

    比較方法を0~5の数値で指定します。数値の意味は下記表の通りです。

    省略した場合は0として扱われます。

    0

    完全一致のみを一致とする

    1

    大文字と小文字を区別せず比較する

    2

    前方一致で比較する

    3

    大文字と小文字を区別せず前方一致で比較する

    4

    後方一致で比較する

    5

    大文字と小文字を区別せず後方一致で比較する

    戻り値

    0

    成功

    1

    コマンド実行失敗

    2

    パラメータ不正

    3

    パラメータ不足

    200

    比較文字列不一致

    サンプル

    【リモートデスクトップ接続画面「コンピュータ(C)」欄に意図した値が入力されているか】

    strcmp "リモート デスクトップ接続" 5012 {IPADDR} 0

    スクリプト変数NULLチェック

    コマンド

    isnull

    説明

    指定したスクリプト変数で展開される内容が空(未登録)か否かを判定します。

    書式

    isnull {condition} scriptvariable


    引数

    condition

    戻り値判定の条件を指定します。

    (指定なし)

    展開後のscriptvariableが空(未登録)の場合、戻り値が成功(0)となります。

    not

    展開後のscriptvariableが空(未登録)以外の場合、戻り値が成功(0)となります。

    scriptvariable

    【必須】

    内容をチェックするスクリプト変数を指定します。

    戻り値

    0

    成功(指定と一致)

    3

    パラメータ不足

    200

    比較文字列不一致

    サンプル

    【オートログイン対象アカウント名の値が空か否か(空の時、成功)】

    isnull {ACCOUNT}

    処理分岐

    コマンド

    if

    説明

    引数で指定した条件・値によってスクリプト処理の分岐を行います。

    書式

    if {condition} target code command


    引数

    condition

    戻り値判定の条件を指定します。

    (指定なし)

    判定対象(target)の内容がcodeと一致していれば命令(command)を実行します。

    not

    判定対象(target)の内容がcodeと一致していなければ命令(command)を実行します。

    target

    【必須】

    ifコマンドの判定対象を指定します。

    errorlevel

    直前のコマンドのエラーコードを判定対象とします。

    execreturn

    直近のexecコマンドで実行したプロセスの戻り値を判定対象とします。

    {スクリプト変数}

    置換後の値が数値となるスクリプト変数(例:{ACTYPE})を判定対象とします。

    code

    【必須】

    引数targetで指定した判定対象の内容と比較を行う値を数値で指定します。

    command

    【必須】

    判定後に実行するコマンドを指定します。

    戻り値

    0

    成功(指定と一致)

    サンプル

    【focusコマンド失敗時、エラー処理へジャンプ指示】

    focus "リモートデスクトップ接続"

    if not errorlevel 0 goto error

     

    【アカウント種別により処理を分岐する】

    if {ACTYPE} 1 goto auth

    処理ジャンプ

    コマンド

    goto

    説明

    gotoコマンドを記述した行以降に定義されたlabelへ処理をジャンプします。

    書式

    goto label


    引数

    label

    【必須】

    ジャンプ先のラベル名を指定します。

     

    ラベルはgotoコマンド記述行以降に存在する必要があります。

    戻り値

    なし

    サンプル

    【ifコマンドの結果、ラベル『exec_failure_00』へ処理ジャンプ】

    waitexec "{%SystemRoot}\System32\wscript.exe" //B ".\bin\rdp\RDPRun.vbe" ".\bin\rdp\idoperation.rdp" "{IPADDR}" "" "{ACCOUNT}" "{PASSWORD}"

    if not execreturn 0 goto exec_failure_00

     

    :exec_failure_00

    messagebox  "リモートデスクトップ接続の起動に失敗しました。" "Err-100 オートログインエラー"

    end 100

    スクリプト終了

    コマンド

    end

    説明

    スクリプト処理を終了します。

    error_codeを指定する事でエラーコードを返す事が出来ます。

    指定したエラーコードは下記の形式でログファイル(<Clientインストールフォルダ\log\client.log>)に出力されます。

    ・end コマンド終了({0})

    ※{0}部分にエラーコードが置換されます。

    書式

    end {error_code}


    引数

    error_code

    【必須】

    返すエラーコードを指定します。

    戻り値

    0

    成功

    1

    コマンド実行失敗

    サンプル

    【正常終了】

    end

     

    【異常終了(任意のエラーコード返却)】

    end 100