Windows7でPowerShellのバージョンアップをする

この記事は最新更新日から、6年以上経過しています。

概要

vagrant使ってたらpowershellアップデートしろよって言われたので更新しました。

作業環境

Windows7

内容

Powershellの更新方法よくわからなかったんですがMicrosoftのダウンロードセンターにって落としてくるものみたいです。
なのでダウンロードセンターへGO!(2018-06-23時点)
https://www.microsoft.com/en-us/download/details.aspx?id=54616

Windows Management Framework 5.1 の下の[download]ボタンをクリック
下記のようなファイル名が出てくるので必要なものをチェックして[NEXT]ボタンをクリックするとファイルがダウンロードされる。
自機はwindows7の64bitだったのでWin7AndW2K8R2-KB3191566-x64.zipをチェックした。

W2K12-KB3191565-x64.msu
Win7AndW2K8R2-KB3191566-x64.zip
Win7-KB3191566-x86.zip
Win8.1AndW2K12R2-KB3191564-x64.msu
Win8.1-KB3191564-x86.msu

ダウンロードすると下記のようなzipが保存される
Win7AndW2K8R2-KB3191566-x64.zip

解凍するとファイルが2つはいっている
Install-WMF5.1.ps1
Win7AndW2K8R2-KB3191566-x64.msu

「Install-WMF5.1.ps1」の方を実行すれば「Win7AndW2K8R2-KB3191566-x64.msu」は勝手に実行されるのでうっかりクリックしないこと。(うっかりクリックして更新してもvagrantは動かなかったのでps1ファイルが重要らしい)

PowerShellを起動(管理者で起動する)してバージョン確認する

$PSVersionTable

普通に.ps1ファイルを実行しようとしてもセキュリティーエラーがでるのでセキュリティーポリシーを一時的に変更する
getで今のセキュリティーポリシーを表示
setでセキュリティーポリシーの変更

Get-ExecutionPolicy
Set-ExecutionPolicy AllSigned

変更できたらファイルパスを直接入れれば実行できる

C:\your_file_dl_dir\Install-WMF5.1.ps1

再起動することになるので再起動。

セキュリティーポリシーをもとに戻す
せっかくなのでセキュリティーポリシーの変更ができたのを確認してバージョン確認

Set-ExecutionPolicy Restricted
Get-ExecutionPolicy
$PSVersionTable

おわり。