nyagos では管理者モードのコンソールを立ち上げる su という内蔵コマンドがある。これを Windows Terminal (wt.exe)に対応させたいと思ったが、どうしても妙なエラーが出て起動できない。
単なる自分のコードの不具合にも見えるが、PowerShell 単品でも簡単に再現できた。まず
powershell "start-process wt.exe"
だと普通のモードで Windows Terminal を起動できる。これを管理者モードで起動するように
powershell "start-process wt.exe -verb runas"
ではエラーになる。手続きが悪いかのように見えるが、wt.exe を cmd.exe に置き換えて
powershell "start-process cmd.exe -verb runas"
では、ちゃんと cmd.exe が管理者モードで起動する。なんでや!
そういうわけで仕方がないので、cmd.exe を間に噛ませて cmd.exe /c wt.exe ...
で管理者モードを立ち上げるようにしたわけだが…
1日過ぎてから、ググってみたところ
- Launching wt.exe as admin fails · Issue #3145 · microsoft/terminal
This is an OS bug that we're pursuing internally. Thanks for reporting!
あうあう(回避策も俺がやったのと対して変わらんみたいや…)
なお、スタートメニューの Windows Terminal アイコンを右クリック→「その他」→「管理者で実行」は大丈夫。よう分からん…