Microsoftが2024年後半に公開するWindows 11の機能アップデート「Windows 11 Version 24H2」では「sudo」コマンドが導入されます。
Windows 11のsudoはコマンドはコマンドプロンプトやPowerShellで動作し、Linuxのsudoと同様に各種のコマンドを管理者権限として実行することができます。
従来のように管理者権限でコマンドプロンプトやPowerShellを起動する必要がなくなる便利な機能です。
以下、使用方法を説明します。
Windows 11 Version 24H2でsudoを使用する
Windows 11のsudoコマンドはWindows 11 Version 24H2以降で使用できます。
▲設定画面を開き、「システム > 開発者向け」で「sudoの有効化」をオンに変更します。「sudoによるアプリケーションの実行方法を構成する」の横のリストボックスで動作を変更することができます。
- 新しいウィンドウで表示: 新しい昇格コンソールウィンドウを開き、そのウィンドウでコマンドを実行。デフォルトの設定。
- 入力が無効な場合: 昇格したプロセスを現在のウィンドウで実行するが、新しいプロセスは標準入力を閉じた状態で生成される。新しいプロセスは入力を受け付けないため、入力を必要とするコマンドには使用できない。
- インライン: 他のOSのsudoに最も似ている。stdin、stdout、stderrを全て現在のウィンドウに接続した状態で昇格プロセスを実行する。新しい昇格プロセスは入力を取り込み、出力を現在のウィンドウにルーティングすることができる。
設定を変更するとコマンドプロンプトやPowerShellでsudoコマンドが実行可能となります。「sudo コマンド」と実行すると、sudoの後ろに指定したコマンドが管理者権限で実行されます。
なお、設定がインラインの場合、使用中のコンソールでコマンドの実行結果が表示されますが、実行前にユーザーアカウント制御(UAC)のプロンプトは表示されます。
sudoのオプション
sudoで指定可能なオプションは「sudo -h」で確認可能です。「--new-window」「--disable-input」「--inline」などで挙動を変更することができます。
C:\Users\src25>sudo -h sudo for Windows Usage: sudo [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 <chdir> コマンドを実行する前に作業ディレクトリを変更してください -h, --help 印刷のヘルプ ("--help" で詳細を表示) -V, --version 印刷のバージョン
まとめ
Windows 11 Version 24H2で導入されるsudoコマンドの使用法を説明しました。設定を有効にするとLinuxやmacOSで利用できた便利な機能がWindowsでも使えるようになります。