Powershell で `sudo` を利用する方法 - Windows executor

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

この記事は役に立ちましたか?
13人中9人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。