Windows の Powershell には sudo
がありません。いくつかのコマンドは管理者として実行する必要がありますが、Powershell にはその概念がありません。
解決策の 1 つは、Start-Process
コマンドを使用することです(https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process)。このコマンドの例は以下になります。
Start-Process wpr -verb runAs -Args "-start GeneralProfile"
これは、管理者としてwpr
(パフォーマンスレコーダー)を呼び出し、-Args
フラグで必要な引数を渡しています。 しかし、この場合、どこか別の場所で新しいシェルを起動するので、出力を表示できないことです。
もう 1 つの解決策として、scoop(https://scoop.sh/)を使用することです。scoop を利用し、Linux と同じ `sudo` のコマンドを利用することができます。 以下のように scoop をインストールできます。
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
set-executionpolicy unrestricted -s cu -f
scoop install sudo
このようにして、Linux のように sudo
を使用できます。 しかし、この方法でも基本的には解決策1と同じことをしているため、出力を表示することはできません。 (スクリプトはこちらから確認できます:https://github.com/lukesampson/psutils/blob/master/sudo.ps1)
コメント
記事コメントは受け付けていません。