Windows11 24H2 にて Windows でも sudo コマンドが実装された。
しかし現状はデフォルトでは sudo コマンドは無効となっており、有効にするためにはユーザーが設定を変える必要がある。
そこで powershell にて sudo コマンドが使える状態かどうかを判定する方法を調べてみた。
今のところ 「sudo config を実行して $? にて結果を参照する」 というのでいけそうだ。
sudo コマンドが有効だとしても sudo config を実行しただけではUACが起動しないのもよい。
残念ながらバージョン表示コマンド sudo -V は sudo 無効のときも表示される。
みんなまず思いつくのは sudo -V のはずだから無効のときはバージョン表示も失敗すればいいのでは?とふと思った。
# sudo コマンド無効の場合 sudo config このコンピューターでは Sudo が無効になっています。有効にするには、 に移動しますDeveloper Settings page設定アプリの $? False # sudo コマンド有効の場合 sudo config sudo は現在このコンピューターでは新しいウィンドウを強制するモードに設定されています $? True