Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【JP1/AJS】Administrators権限のOSユーザーなのにジョブが失敗する?原因と解決策

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【JP1】Administrators権限のOSユーザーなのにジョブが失敗する?原因と解決策

「Administratorsグループに所属させたOSユーザー jp1admin にマッピングしたのにジョブが失敗する」「組み込みの Administrator アカウントだと成功するのに何が違うのか?」

凪さん
凪さん

この現象は、JP1/AJS3の仕様とWindowsセキュリティの仕様が複合して発生する典型的なトラブルです。

組み込みの Administrator とその他の管理者ユーザー(jp1admin 等)では、OS上の特権扱いや制限が異なるためです。主な4つの原因と対策を解説します。

原因1:JP1側にOSユーザーのパスワードが登録されていない(最頻出)

Windows環境でJP1からOSユーザー権限を使ってジョブを実行する場合、JP1エージェント側にOSユーザーのパスワード登録(jp1passwd コマンド)が必要です。

  • なぜ差が出るのか?

    以前に Administrator 用のパスワード登録は済ませていたものの、新しく作成した jp1admin のパスワード登録を忘れている(あるいは登録したパスワードがOS側と不一致になっている)ケースが非常に多く見られます。

  • 確認・対策

    JP1エージェントサーバーでコマンドプロンプトを起動し、パスワードを再登録してください。

    DOS

    jp1passwd -u jp1admin
    

原因2:Windowsの「ユーザー権利の割り当て」が不足している

JP1がOSユーザーを横取りしてプロセスを起動(ログオン)するには、そのOSユーザーに特定のローカルセキュリティポリシー(ユーザー権利)が与えられている必要があります。

組み込みの Administrator にはデフォルトで全権限が与えられていますが、後から作成した jp1admin には「Administratorsグループ」に入っていても個別に権限が付与されていない場合があります。

  • 必要なユーザー権利

    1. バッチ ジョブとしてログオンSeBatchLogonRight

    2. プロセス レベルのトークンの置き換えSeAssignPrimaryTokenPrivilege

    3. プロセスに対してクォータを調整SeIncreaseQuotaPrivilege

  • 確認・対策

    secpol.msc(ローカル セキュリティ ポリシー)を開き、ローカル ポリシーユーザー権利の割り当て から、上記項目に jp1admin または Administrators グループが明示的に含まれているか確認します。

原因3:UAC(ユーザーアカウント制御)によるトークン制限

WindowsのUACが有効な環境では、Administratorsグループに属するユーザーであっても、ログオン時には「制限された標準ユーザー用トークン」が割り当てられます。

  • なぜ差が出るのか?

    SIDの末尾が「-500」である組み込みの Administrator アカウントはUACの昇格制限をバイパス(例外処理)されます。しかし、後から作った jp1admin はAdministrators権限を持っていても管理者特権が剥奪された状態でジョブが実行され、権限不足エラーになります。

  • 確認・対策

    ネットワーク経由の管理者接続時にもトークンを昇格させるため、以下のレジストリを設定するか検討します(※要再起動)。

    • キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

    • 値の名前:LocalAccountTokenFilterPolicy

    • 型:DWORD (32ビット)

    • 値:1(リモート管理時の制限を解除)

原因4:JP1ユーザーマッピング定義(jp1user)の指定ミス

jp1user(ユーザーマッピング定義)の設定において、サーバー名やドメイン名の指定が漏れている、あるいは大文字・小文字の不一致によって正しく評価されていない可能性があります。

  • 確認・対策

    ローカルユーザーの場合は、ドメイン名を省略するか、自ホスト名を正しく指定しているかマッピングファイルを確認してください。

    Plaintext

    # 例:JP1ユーザー「jp1admin」をローカルOSユーザー「jp1admin」にマッピング
    jp1admin:*:=jp1admin
    

トラブルシューティングのチェックリスト

  1. jp1passwdjp1admin のOSパスワードを登録したか?

  2. secpol.msc で「バッチジョブとしてログオン」等の権限が jp1admin にあるか?

  3. 統合実験・統合ログ(KAVUから始まるエラーコード) で「KAVU4221-E(ログオン失敗)」や「KAVU4229-E(権限不足)」が出ていないか?

まずは原因1(jp1passwdでのパスワード登録漏れ)原因2(ユーザー権利の不足)から確認することをおすすめします。

Want to know how to interpret specific JP1 job error codes like KAVU4221-E or KAVU4229-E?
タイトルとURLをコピーしました