Microsoftは2月7日(現地時間)、Windows 11 Insider Preview Build 26052(Canary/Devビルド)に、Windows版の「sudo」を導入したことを発表しました。
Linux版のsudoと同様に管理者権限でコマンドを実行することができる機能を持ち、Microsoftは「昇格していないコンソールセッションから昇格コマンドを直接実行する新しい方法だ」と説明しています。ソースコードもGitHubで公開され、今後数ヶ月のうちに開発計画の詳細が共有される予定です。
Windows 11でsudoを有効にするには「設定 > 開発者向け」で「Enable sudo」をオンに変更します。または管理者権限のコマンドプロンプトを開き、以下を実行します。
sudo config --enable <configuration_option>
sudoは以下の実行モードを持ち、上記コマンドや設定で変更することができます。
- In a new window(forceNewWindow): 新しい昇格コンソールウィンドウを開き、そのウィンドウでコマンドを実行。デフォルトの設定。
- Input closed(disableInput): 昇格したプロセスを現在のウィンドウで実行するが、新しいプロセスは標準入力を閉じた状態で生成される。新しいプロセスは入力を受け付けないため、入力を必要とするコマンドには使用できない。
- Inline(normal): 他のOSのsudoに最も似ている。stdin、stdout、stderrを全て現在のウィンドウに接続した状態で昇格プロセスを実行する。新しい昇格プロセスは入力を取り込み、出力を現在のウィンドウにルーティングすることができる。
コマンドラインからsudoを使ってプロセスを昇格させると、UACダイアログが表示され、ユーザーに昇格の確認を求めます。
昇格を確認すると、ユーザーが選択した設定オプションに基づいてプロセスが昇格されます。
公式ブログにはWindows版sudoの動作原理など詳細が掲載されています。仕組みに興味がある方は確認することをおすすめします。