pwshをコマンドラインでインストールしてPATHを通す方法
概要
前回 に続いて、今回はWindowsのコマンドラインで PowerShell7 をインストールする方法を紹介します。
PowerShell5はWindowsに標準で搭載されていますが、pwsh
コマンドは実行できません。
そこでPowerShell7を別途インストールすることで pwsh
コマンドとして使用可能になります。
そんなPowerShell7をコマンドライン経由でインストールしPATHを登録する方法を紹介します。
動作環境
- Windows 10
- 筆者はPro版ですが、Homeでも問題ないと思います
変更履歴
- 2022/05/18
- タイトルを「【PowerShell】 PowerShell7をコマンドラインからインストールして、pwshコマンドにPATHを通す」→「pwshをコマンドラインでインストールしてPATHを通す方法」に変更
- 2023/02/05
- 「install-powershell.ps1 を実行」を
PowerShell -ExecutionPolicy Bypass
を使ったコマンドに修正
- 「install-powershell.ps1 を実行」を
注意事項
- 以下を試す場合は自己責任でお願いします!
- 以下の処理は管理者権限で実行しますが、当方は事故や故障などの一切の責任を負いません!
- 環境変数 PATH を変更するため、変更前のPATHを記録しておくことを推奨!
上記の件、ご留意ください
インストール方法
※前回の記事 (Git for Windowsをコマンドラインからインストールする方法) と流れはほとんど同じです
Gitからps1ファイルをクローン
- ps1ファイル(PowerShellスクリプト)を以下のリポジトリからクローンする
PowerShellを管理者権限で開く
※開き方は好きなやり方で問題ありません
Windows 10標準搭載のPowerShell5を使用
Windows
キーを押して、「powershell」を検索- 「管理者として実行する」をクリック
PowerShellでクローンしたWindowsInfrastructureExample上に移動
cd <path>\WindowsInfrastructureExample
PowerShell-7.x.x-win-x64.msi を配置
コマンドでダウンロードする場合
Invoke-WebRequest https://github.com/PowerShell/PowerShell/releases/download/v7.2.3/PowerShell-7.2.3-win-x64.msi -OutFile PowerShell-7.2.3-win-x64.msi
※インフラ構築のスクリプトを書く場合は、このコマンド自体をps1スクリプトに組み込んでも良い
ブラウザでダウンロードする場合
以下より PowerShell-7.x.x-win-x64.msi
をダウンロードし、WindowsInfrastructureExample
フォルダ以下に配置
ps1の実行を許可
Set-ExecutionPolicy RemoteSigned -Scope Process
install-powershell.ps1 を実行
> PowerShell -ExecutionPolicy Bypass .\install-powershell.ps1
エラーログが出なければ問題なく PowerShell7 のインストール完了
インストールの確認 (コマンドラインの場合)
Dir 'C:\Program Files\PowerShell\7\pwsh.exe'
でエラーが出なければインストール完了
Dir 'C:\Program Files\PowerShell\7\pwsh.exe' ディレクトリ: C:\Program Files\PowerShell\7 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/04/15 20:07 287664 pwsh.exe
(任意)PATHの追加
ローカルPCの環境変数 PATH が変更されます!ご注意ください!
PowerShell -ExecutionPolicy Bypass .\set-powershell-path.ps1
以上でインストール及び設定は完了です。
スクリプト解説
msiexecによるインストール
PowerShell-7.x.x-win-x64.msi のインストールオプション
詳細は以下のページに記載されています
INSTALLFOLDER
名前の通りインストール先のフォルダを指定。
以下のように指定すると良いです。
$InstallFolder = 'C:\Program Files\PowerShell' (略) msiexec.exe ` ... INSTALLFOLDER=`"$InstallFolder`" ` ...
ちなみに、C:\Program Files\PowerShell
を指定した場合、pwsh
はC:\Program Files\PowerShell\7\pwsh.exe
に配置されます。
また、スクリプト内でフォルダ名を`"XXX`"
のように囲むのは不思議な感じがしますが、これで問題ありません。
Windowsのコマンドラインはスペースの扱いがめんどくさいですね。。。それなのに "Program Files" はスペースが有るという。。。
ADD_PATH=0
PATHに追加するかのオプションです。ADD_PATH=1
にすればパスを通してくれます。
今回はコマンドラインで諸々完結させたかったので0指定(登録しない)にしています。
USE_MU=0, ENABLE_MU=0
いわゆるMicrosoft Updateによる自動更新の設定です。
毎回コマンドラインで更新することを想定し、オフにしています。
解説は以上です!
雑感
Git for Windows, PowerShell7 のインストール方法を紹介したのは、bash
, pwsh
をインストールするためだったりします。
次回はこの2つを活用したCIについてお話します!
もしかしたらピンと来た方がいらっしゃるかもですね。
さらにその次は絶対にUnity + XR関連にします(そっちのほうが断然楽しいし、何よりブログのタイトル的に。。。)
PATHを変更するような手順の紹介は、試した人の環境を壊しかねないので結構神経を使いますね。。。
それでは~