Windows 11でコマンドライン操作を行っていると、管理者権限が必要な場面がある。だが、Windows PowerShellはLinuxのsudoコマンドを用意していないため、別に管理者権限を持つWindowsターミナルを起動しなければならない。

  • 「Win」+「X」キー→「A」キーと順に押すか、スタートを右クリック/長押しし、「Windowsターミナル(管理者)」をクリック/タップする

  • 管理者権限でWindowsターミナルを起動できる。ただし、別ウィンドウが開く。なお、管理者権限使用中を示すアイコンと、タブタイトルに「管理者」が加わる

Windowsターミナル自身の機能として、プロファイル選択時に管理者として起動する設定項目は存在する。それでも通常はユーザー権限で起動し、コマンドライン操作やスクリプトを実行した方が安全だ。

  • 「このプロファイルを管理者として実行する」を有効にすると、管理者権限で起動可能だが、各プロファイルの設定が優先される

そこで考えたのが「管理者権限でターミナルが起動する別のプロファイルを用意」する方法。前述のとおりWindowsターミナルは、メニューから管理者権限で起動できるものの、「Ctrl」+「Shift」+数字キーのショートカットが使用できるため、より素早く起動できるだろう。

  • Windowsターミナルが起動した状態で「Ctrl」+「,(カンマ)」キーを押すか、矢印アイコン→「設定」と順にクリック/タップする

  • 「新しいプロファイルを追加します」をクリック/タップし、コピー元となるプロファイルを確認してから、「複製」ボタンをクリック/タップする

  • 複製したプロファイルを選択して、「名前」をクリック/タップして項目を展開してから、プロファイル名を変更。続いて「このプロファイルを管理者として実行する」をオンに切り替えたら、「保存」ボタンをクリック/タップする

  • メニューから複製したプロファイルを選択すれば、管理者権限でWindowsターミナルが起動する。画面の例では「Ctrl」+「Shift」+「5」キーを押せばよい

ただし、別ウィンドウでWindowsターミナルが起動する動作は変わらない。これはWindowsTerminal.exeが別プロセスで起動しているからだ。

  • 上段が通常のWindowsターミナル、下段が管理者権限で起動したWindowsターミナル。別プロセスとして起動する

Start-Processコマンドレットとrunasコマンドを組み合わせる方法もあるが少々煩雑である。常にWindowsターミナルを起動し、各種操作を行っている方はgsudoの導入検討をお薦めしたい。