みむらです。
とある作業をしているときに見つけたことですが・・。
コマンドプロンプトや Power Shell で作業をしているときに管理者権限が必要になったとき、
いちいち管理者権限でコマンドプロンプトを立ち上げ直したりはしたくないものです。
また、 Shift+右クリックメニュー にて「コマンドウィンドウをここで開く」というものがありますが
このメニューから開いたときに、この画面で管理者に昇格したいもの。
そんなときに使えるコマンドです。
Power Shell にて
Start-Process -Verb (Command)
としてコマンドを実行すると、UAC の画面が出てきて管理者権限で起動してくれます。
たとえば、電卓を管理者権限で動かしたい場合は、
Start-Process -Verb runas calc
このような感じ。
あと、いちいち PowerShell を起動したくない場合は、
Power Shell の引数にコマンドを渡して実行すればいいので、
powershell -command "Start-Process -Verb runas (command)"
こんな感じで使えます。
ですので、たとえば Linux で言うところの ”sudo bash” な事をしたいのであれば、
powershell -command "Start-Process -Verb runas cmd"
と、こんな感じになります。
いちいちコマンドを叩くにも長いので・・
テキストエディタを開いて、下記の内容を “sudo.cmd” として保存し、
@powershell -command "Start-Process -Verb runas %1"
あとはそのファイルを PATH の通っているところに移動なりコピーすれば、
どこからでも “sudo (command)” で管理者権限で任意のプロセスを起動できるようになります。
管理者権限が必要なコマンドをよく使われる方、ぜひどうぞー。
The trick with saving that one-liner as a sudo.cmd file is such a lifesaver for avoiding the constant right-click hassle. I’ve been using this method to quickly elevate my terminal without restarting it every time, though I did get sidetracked recently trying out bulin 47ai for some quick video edits while waiting for scripts to run.
Windows でコマンドプロンプトや Power Shell を使う際の管理者権限昇格方法、とても参考になります。Start-Process -Verb runas コマンドは確かに便利で、特に複数のコマンドを連続して実行する際に効率的です。また、sudo.cmd ファイルを作成する方法も紹介されていて、これは特に開発環境で頻繁に管理者権限が必要な場合に重宝しそうです。実際に私もこの方法を使用して、スクリプトの実行効率が大幅に向上しました。
runas で昇格できるのは手軽で便利ですね。sudo.cmd を PATH に置く発想も実用的で、複数のコマンドをまとめて昇格させたい場面でも応用が効きそうです。ただ、runas は引数のクォートの扱いが独特なので、パスにスペースを含むコマンドを渡すときの書き方について補足があると助かります。