💻

Windows版Jenkinsの実行ユーザーを、システムから任意のユーザーに変更する

2023/11/16に公開

Windows 11 Homeにはグループポリシーエディターが付属していないため、Jenkinsインストールの際にLogon Typeで Run service as local or domain user が選択できず、 Run service as LocalSystem の設定でインストールが必要になります。
しかし、LocalSystemでサービスを実行すると、Jenkinsからバッチファイルなどを実行しようとする際に、コマンド実行がシステムユーザーとして実行されるため、ログインユーザーの権限で通していたパスや認証情報が利用できず、処理の実行に失敗してしまいます。

今回は、 Run service as LocalSystem 設定でのインストール後に、直接サービスの実行ユーザーを書き換えて、Jenkinsをシステムユーザーではなく任意のユーザーとして実行するように変更してみます。

都度、ジョブで実行するバッチ単位でユーザーを切り替える場合はこちら
https://zenn.dev/sion_pn/articles/b53a9f509fae22

実行環境

  • Windows 11 Home
  • Jenkins 2.414.3

手順

  • Win+R して、 services.msc を実行

  • サービス (ローカル) の一覧から、 Jenkins を右クリックして プロパティ を選択

  • ログオン タブ を選択し、 アカウント にチェックを入れて 参照 ボタンを選択

  • 選択するオブジェクト名 の項目にアカウント名を入力し、 名前の確認 ボタンを選択

  • 自動でユーザー名のフルパスが補完されるので、問題なければ OK

  • パスワードを入力して、 OK

    ※この時、初期入力されているパスワードは正しいパスワードではないため、一度削除して入力し直してください。

  • サービスを再起動

以上の手順で、サービスの実行ユーザーを任意のユーザーに変更できます。
念のため、 whoami コマンドを実行するジョブを作成するなどで、実行ユーザーを確認するとよいです。

Discussion