【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グループ」に入っていても個別に権限が付与されていない場合があります。
-
必要なユーザー権利:
-
バッチ ジョブとしてログオン(
SeBatchLogonRight) -
プロセス レベルのトークンの置き換え(
SeAssignPrimaryTokenPrivilege) -
プロセスに対してクォータを調整(
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
トラブルシューティングのチェックリスト
-
jp1passwdでjp1adminのOSパスワードを登録したか? -
secpol.mscで「バッチジョブとしてログオン」等の権限がjp1adminにあるか? -
統合実験・統合ログ(
KAVUから始まるエラーコード) で「KAVU4221-E(ログオン失敗)」や「KAVU4229-E(権限不足)」が出ていないか?
まずは原因1(jp1passwdでのパスワード登録漏れ)と原因2(ユーザー権利の不足)から確認することをおすすめします。

