Windows 11 の 24H2 でついに sudo が実装された。sudo コマンドがあれば PowerShell などを利用する際に一時的に管理者権限で実行することができるため、とても便利だ。
このページでは Windows 11 の sudo を利用する方法を紹介しよう。
Windows で sudo を利用する方法
Windows 11 を 24H2 にしただけではまだ sudo を利用できない。sudo を利用するには設定アプリより sudo を有効にする必要がある。
Windows 11 の「設定」アプリから「システム」->「開発者向け」を開こう。
そうすると「sudo の有効化」という項目があるので、スイッチを「オン」にしよう。そうすると sudo を利用できるようになる。
その下にある「sudo によるアプリケーションの実行方法を構成する」からは sudo コマンドを実行する際の挙動を指定できる。以下の三種類から選択できる。
- 新しいウインドウで表示
- 入力が無効な場合
- インライン
デフォルトは「新しいウインドウで表示」になっているが、この状態だと sudo を実行した際に新しいウインドウが表示される。インラインにすると Linux などの sudo と同様に同一のターミナルで実行する。
sudo が有効になったら sudo コマンドが使える。 sudo のみで実行した場合は以下のような感じで利用方法が表示される。
PS C:\Users\ryomatsu> sudo
sudo for Windows
Usage: sudo.exe [OPTIONS] [COMMANDLINE]... [COMMAND]
Commands:
run 管理者としてコマンドを実行する
config sudo の現在の構成情報を取得する
help Print this message or the help of the given subcommand(s)
Arguments:
[COMMANDLINE]... 実行するコマンドライン
Options:
-E, --preserve-env 現在の環境変数をコマンドに渡す
-N, --new-window コマンドに新しいウィンドウを使用する
--disable-input ターゲット アプリケーションへの入力を無効にした状態で現在のターミナルで実行します
--inline 現在のターミナルで実行する
-D, --chdir コマンドを実行する前に作業ディレクトリを変更してください
-h, --help 印刷のヘルプ ("--help" で詳細を表示)
-V, --version 印刷のバージョン
例えば以下のような感じで利用できる。
> sudo winget install neovim
使い勝手は Linux などの sudo と同じような感じに見える。これでいちいち管理者権限でターミナルを実行しなおす必要が無く、より利便性が高い。
開発者などであれば有効にしておくと便利だと思う。