7.39 ジョブ実行時のログオンリトライを変更する設定
JP1/AJS2では,ジョブ※を実行する際,JP1/AJS2サービスを起動したアカウントと異なるユーザーアカウントでジョブを実行することがあります。その場合,ジョブプロセスを起動するために,ユーザーが属するセキュリティグループや権限に関する情報などを含んだユーザー情報(以降,アクセストークンと呼びます)を取得する必要があります。アクセストークンの取得には,Win32API関数を使用しています。この関数が一時的にエラーとなっていると,アクセストークンを取得できないため,JP1/AJS2ではジョブが起動失敗(異常終了)の状態になります。例えば,認証先のドメインコントローラーがシャットダウンなどで停止した場合,ドメイン認証ができないためにジョブが起動失敗します。
この関数を一定の間隔でリトライすることで,一時的なエラーを回避し,ジョブが異常終了する要因の発生頻度を抑えることができます。
- 注※
- PCジョブ,アクションジョブ,カスタムジョブ,およびWindows版JP1/AJS2上で実行するQUEUEジョブが該当します。また,jpqjobsubコマンドまたはJpqSubmitJob関数で実行するサブミットジョブも含まれます。
設定手順を次に示します。
- <この節の構成>
- (1) 定義手順
- (2) 定義パラメーター一覧
- (3) 定義内容
- (4) 注意事項
(1) 定義手順
- Windowsの[コントロールパネル]の[管理ツール]で[サービス]を選択し,次のサービスを停止する。
クラスタシステムの場合は,クラスタの設定を確認し,論理ホストのJP1/AJS2サービスも停止してください。
- メモ帳などのテキストエディターで,「(2) 定義パラメーター一覧」の定義パラメーターを記述した設定ファイルを作成する。
設定ファイルのファイル名は任意です。
- ファイルを保存し,次のコマンドを実行する。
jbssetcnf 設定ファイル名
jbssetcnfコマンドのパスは,「JP1/Baseのインストール先フォルダ¥bin¥jbssetcnf」です。
jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
- JP1/AJS2を再起動する。
設定ファイルに記述した内容が反映されます。
(2) 定義パラメーター一覧
表7-40 ジョブ実行時にアクセストークンの取得をリトライする設定のための定義パラメーター
定義キー | 環境設定パラメーター | 定義内容 |
---|
[{JP1_DEFAULT|論理ホスト名}¥JP1NBQAGENT¥Network]※ | "LogonUserRetryCount"= | ジョブの実行先サービスに[JP1/AJS2]を指定している場合に,アクセストークンの取得をリトライする回数 |
"LogonUserRetryInterval"= | ジョブの実行先サービスに[JP1/AJS2]を指定している場合に,アクセストークンの取得をリトライする間隔 |
- 注※
- {JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
(3) 定義内容
- "LogonUserRetryCount"=dword:設定値
- ジョブの実行先サービスに[JP1/AJS2]を指定している場合に,アクセストークンの取得をリトライする回数を16進数で指定します。
- 指定できる範囲は00000000~00000064(10進数で0~100)です。
- デフォルトは「dword:00000003」(10進数で3)です。
- "LogonUserRetryInterval"=dword:設定値
- ジョブの実行先サービスに[JP1/AJS2]を指定している場合に,アクセストークンの取得をリトライする間隔を16進数で指定します(単位:秒)。
- 指定できる範囲は00000001~0000012C(10進数で1~300)です。
- デフォルトは「dword:00000001」(10進数で1)です。
(4) 注意事項
- リトライ回数およびリトライ間隔で調整するため,ドメインコントローラーが切り替わるまでに,設定したリトライ回数およびリトライ間隔以上の時間が掛かる場合は,この機能で回避できません。
- ジョブを実行したOSユーザーのパスワードが不正だった場合は,OSのセキュリティポリシーの設定によってアカウントロックとなることがあります。アカウントロックされた場合,該当するユーザーではジョブを実行できなくなります。
- 次のことが原因でログオンに失敗する場合も指定回数と指定間隔によるリトライが実施されるため,ジョブが実行終了となるまで時間が掛かります。また,ジョブを強制終了した場合も同様に,強制終了となるまで時間が掛かります。
- ジョブ実行時に,認証先のすべてのドメインコントローラーが停止している
- パスワード不正ユーザーでジョブを実行する
- 未登録ユーザーでジョブを実行する
- アカウントロックしているユーザーでジョブを実行する
- アカウントが無効になっているユーザーでジョブを実行する