【Windows11】【24H2以降】Powershell にて sudo が使用可能かどうか調べる方法

Windows11 24H2 にて Windows でも sudo コマンドが実装された。

forest.watch.impress.co.jp

しかし現状はデフォルトでは 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