Windows版Jenkinsの実行ユーザーを、システムから任意のユーザーに変更する
Windows 11 Homeにはグループポリシーエディターが付属していないため、Jenkinsインストールの際にLogon Typeで Run service as local or domain user
が選択できず、 Run service as LocalSystem
の設定でインストールが必要になります。
しかし、LocalSystemでサービスを実行すると、Jenkinsからバッチファイルなどを実行しようとする際に、コマンド実行がシステムユーザーとして実行されるため、ログインユーザーの権限で通していたパスや認証情報が利用できず、処理の実行に失敗してしまいます。
今回は、 Run service as LocalSystem
設定でのインストール後に、直接サービスの実行ユーザーを書き換えて、Jenkinsをシステムユーザーではなく任意のユーザーとして実行するように変更してみます。
都度、ジョブで実行するバッチ単位でユーザーを切り替える場合はこちら
実行環境
- Windows 11 Home
- Jenkins 2.414.3
手順
-
Win+R
して、services.msc
を実行
-
サービス (ローカル)
の一覧から、Jenkins
を右クリックしてプロパティ
を選択
-
ログオン
タブ を選択し、アカウント
にチェックを入れて参照
ボタンを選択
-
選択するオブジェクト名
の項目にアカウント名を入力し、名前の確認
ボタンを選択
-
自動でユーザー名のフルパスが補完されるので、問題なければ
OK
-
パスワードを入力して、
OK
※この時、初期入力されているパスワードは正しいパスワードではないため、一度削除して入力し直してください。 -
サービスを再起動
以上の手順で、サービスの実行ユーザーを任意のユーザーに変更できます。
念のため、 whoami
コマンドを実行するジョブを作成するなどで、実行ユーザーを確認するとよいです。
Discussion