ちりつもったー

怪文書やら備忘録やらなにやら

【PowerShell】gsudoインストールして、PowerShellでもsudoっぽいことをできるようにする

Windowsでもsudoでやっていきたい。

以前、GPOの制御下にあるPowerShellをadministratorで起動させるための手順を書きましたが……
hail-mary-log.hatenadiary.jp

こんな七面倒なことしなくても、gsudoというコマンドを開発してくれた親切な人が居ました。

github.com

やっぱりシェルに管理者権限でログインするよりも、ちゃんとコマンドで制御した方がセキュアですよね。
というわけで、早速導入してみましょう。

インストール手順

なんてことはなくwingetでインストールするだけです。
PowerShellは管理者権限で入ってください。

 > winget install gsudo
 見つかりました gsudo [gerardog.gsudo] バージョン 2.5.1
 このアプリケーションは所有者からライセンス供与されます。
 Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
 ダウンロード中 https://github.com/gerardog/gsudo/releases/download/v2.5.1/gsudo.setup.x64.msi
   ██████████████████████████████  2.25 MB / 2.25 MB
 インストーラーハッシュが正常に検証されました
 パッケージのインストールを開始しています...
 インストールが完了しました

ただwingetしただけではパスが通ってねえよ、と怒られます。

 > gsudo -v
 &: The term 'gsudo.exe' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the
 spelling of the name, or if a path was included, verify that the path is correct and try again.

refreshenvでPATHを通して、再度動作確認をします。

使い方

bashzshでのsudoとほぼ同じです。

 # wingetでインストールする時
 > gsudo winget git

管理者へのユーザー切り替えもできます。

 > gsudo
 # 管理者切り替え時はウインドウのタブにAdministratorと表示される
 > exit
 # 一般ユーザーに戻る

bashzshで操作に慣れている身だと、やはりsudoに近しい方がしっくりきますよね。