4.4 内部関数
4.4.3 メタデータ
4.4.3.1 メタコマンド
%メタコマンドはCatToolsメタデータのサブセットです。
これを使用することによって、アクティビティのある時点で CatTools の内部機 能を実行させることができます。
以下は現在利用可能なメタコマンドの一覧です。
メタコマンド 説明
%ctDB 各 デ バ イ ス の プ ロ パ テ ィ 情 報 が 記 載 さ れ て い る
CatTools付属のデバイステーブルを更新します。更新
できるデバイスフィールドの一覧については「デバイ ステーブル」の項を参照してください。
%ctUM: EchoOff コマンドを送信し、そのエコーバックを待たないため
のフラグを設定します。
%ctUM: EchoOn コマンドを送信し、そのエコーバックを待つためのフ
ラグを設定します。
%ctUM: Timeout コマンドに対する応答を待つ最大時間を設定します。
%ctUM: PauseTime コマンドを送るまでの待ち期間を設定します。
4.4.3.1.1 %ctDBコマンド
%ctDBメタコマンドを使用すると、アクティビティの一部としてCatToolsデー
タベースのテーブル内のあるフィールドを直接更新できます。
2008 Kiwi Enterprises 構文
%ctDB:tablename:fieldname:new field value
tablename には更新したいフィールドの含まれているデータベースのテーブル
名を入力します。フィールドの一覧については「デバイステーブル」の項を参照 してください。
new field valueにはデータベースのフィールドに表示したい内容を入力します。
この値にはコロン(:)を挿入することができます。コマンド文法により区切り文字 として最初の3つのコロンのみ検索されます。
例えば、リモートの認証サーバーのパスワードを変更したい場合、パスワードの 変更自体はサーバー側で可能ですが、CatToolsにはそのことが通知されません。
選択したデバイスに対する CatTools データベースのパスワードを変更するメタ コマンドを使ってDevice.CLI.Send commandsアクティビティを設定すれば、デ バイス側と CatTools データベースに登録されているパスワードの変更が同時に できます。コマンドは次のように使用します。
%ctDB:Device:AAAPassword:thenewpassword
この場合、Device.CLI.Send commandsアクティビティのコマンドとしてメタコ マンドを1つだけ入力する必要があります。アクティビティが実行されると、選 択したすべてのデバイスに対するDeviceテーブルのAAAPasswordフィールド に「thenewpassword」と入力されます。CatToolsはデバイスの1つにログイン するたびにこの新しいパスワードを使用するようになります。
デバイスのローカルユーザー名およびパスワードのプロパティを設定している 場合にもこの種のコマンドを使用する場合があります。デバイスのプロパティを 設定するデバイスコマンドを実行してから CatTools のデータベースフィールド を更新するにはメタコマンドを使用します。このような状況で、デバイスコマン ドが成功しなかった場合に CatTools がフィールドを更新しないようにするため には、[Stop on error]をオンにしてください。
Device.CLI.Modify Configアクティビティでローカルユーザー名とパスワードを
設定するには次のコマンドを入力します。
username joe password fred ...
これらの変更を CatTools データベースに反映するには次のコマンドを使用しま す。
2008 Kiwi Enterprises
%ctDB:Device:AAAUsername:joe
%ctDB:Device:AAAPassword:fred
次回デバイスにログインするとこれらの値がCatToolsによって使用されます。
4.4.3.1.1.1 デバイステーブル
%ctDB メタコマンドを使って更新できるデバイステーブルのフィールドを以下
に挙げます。
フィールド名 最大文字数 HostAddress 255
Filename 255
Model 255
Telnet 255
TelnetPort 255
Session 255
VTYPass 255
ConsolePass 255 EnablePass 255 PrivilegeLevel 255 AAAUsername 255 AAAPassword 255
SNMPRead 255
SNMPWrite 255 RequireVTYLogin 255 LoginUsesAAA 255 EnableUsesAAA 255 VTYPrompt 255 ConsolePrompt 255 EnablePrompt 255 AAAUserPrompt 255 AAAPassPrompt 255 Address1 >255 Address2 >255 Address3 >255 ContactName >255
2008 Kiwi Enterprises ContactPhone >255
ContactEmail >255 ContactOther >255 AlertEmail >255
上記のフィールドはすべて文字入力フィールドですが、RequireVTYLogin、
LoginUsesAAA、EnableUsesAAAなど一部のフィールドにはオン/オフを示す数
値(0=オフ、1=オン)が含まれています。
4.4.3.1.2 %ctUM
%ctUM メ タ コ マ ン ド を 使 用 す る と 、Device.CLI.Send commands お よ び
Device.CLI.Modify Configアクティビティで使用する様々なオプションを設定で
きます。
コマンド
%ctUM: EchoOff
通常、コマンドが送出されると CatTools はそのコマンドのエコーを待ってから 次の処理を開始します。しかし、エコーを返さないコマンドもあり、そのような コマンドが送信された場合はこの時点でアクティビティは失敗に終わります(パ スワードを変更するようなアクティビティの場合、特にこの問題が顕著です)。
%ctUM: EchoOffコマンドはCatToolsに対象となるアクティビティの実行中にエ
コーを待たずに次のコマンドを送信させます。
%ctUM: EchoOn
コマンドのエコーを切り替える必要のある場合ありますが、できるだけ速やかに エコーバックを待つ設定に切り替えるほうが良いでしょう。CatToolsでは、コマ ンドのエコーを待つことによってデバイスからの送信データと受信データの同 期を正確に取り、エラー発生の可能性を最小限に抑えることができるようになっ ています。
%ctUM: EchoOnコマンドはCatToolsに対象となるアクティビティの実行中にエ
コーを待ってから次のコマンドを送信させます。
%ctUM:Timeout xx
CatToolsがコマンドに対する応答の待ち時間はデフォルトで30秒に設定されて
2008 Kiwi Enterprises います。デバイスによっては一部のコマンドに対する応答に30秒以上かかる場 合があります。%ctUM: Timeout XXコマンドを使用すると、対象となるアクティ ビティで使用するすべてのコマンドに対する応答の待ち時間を設定できます。
例えば、show versionコマンドのタイムアウトを50秒に設定したい場合は次の ように記述します。
%ctUM: Timeout 50 show version
%ctUM: Timeout 0
注意:このコマンドに0を指定すると(%ctUM: Timeout 0)タイムアウトがデフォ ルト値の30秒に戻ります。
%ctUM:PauseTime xx
これは、CatToolsが指定した時間(秒)一時停止してから次のコマンドを発行する ようにするためのコマンドです。指定可能な最大値は3600です。
例えば、次のようにコマンドを指定すると、pingを発行し、50 秒間待ってから 再度pingを発行します。
ping 127.0.0.1
%ctUM: PauseTime 50 ping 127.0.0.1