Windows PowerShell を最新バージョンに更新する
Windows PowerShell でスクリプトを実行すると、PowerShell のバージョンが古いためにエラーが発生する場合があります。Windows PowerShell のバージョンを確認するには、スクリプト環境で $PSVersionTable
と入力するか、以下の構文を実行します。
Get-Host | Select-Object Version
過去には、Windows Update から自動更新を取得できました。それでも、Microsoft は主要なスクリプトバージョンとして PowerShell(Core)7.0 に徐々に移行しているため、PowerShell 5.1 はこれまでにリリースされる最後のバージョンです。
この記事では、Windows PowerShell を使用してオンデマンドで更新を取得する方法を説明します。
Windows PowerShell 5.1 の更新
現在、Windows PowerShell 5.1 がメンテナンス専用モードになっていることを考えると、最近の後継である PowerShell(Core)7 エディションとは異なり、新しい重要な開発はありません。
ただし、問題の原因となる Register-PSRepository
コマンドが定義されている PowerShellGet
モジュールを更新することはできます。Windows PowerShell 5.1 を更新するには、以下のコマンドを実行します。
Update-Module PowerShellGet
通常は上記のコマンドを実行するだけですが、PowerShell ギャラリーから最新バージョンに切り替える場合は、最初に別のアプローチが必要になります。
- 昇格されたセッションを開きます(管理者として実行)。
- 以下を実行します(詳細情報を取得するには、
-Verbose
を追加します)。
Install-Module PowerShellGet -Force
-Force
を使用すると、その名前のモジュールがすでにインストールされている場合でもインストールできます。NuGet
パッケージプロバイダーのダウンロードに関するプロンプトが引き続き表示される場合があることに注意してください。
古い PowerShellGet
バージョンは別の場所に残りますが、新しいバージョンが優先されることに注意してください。
ギャラリーにインストールされたバージョンへのこの最初の切り替え後、将来のバージョンで Update-Module PowerShellGet
を使用できるようになります。
PowerShell(コア)のインストールと更新 7
Windows PowerShell 5.1 とは異なり、Windows PowerShell(Core)7 は Windows オペレーティングシステムにプリロードされないため、手動でインストールする必要があります。Windows 10 オペレーティングシステム以降を実行している場合は、Microsoft ストアで PowerShell(Core)7 を入手できます。
または、Windows Package Manager または winget
コマンドラインを使用して、Windows 10 コンピューター上のアプリケーションをすばやく検出、インストール、アップグレード、削除、および構成することもできます。
Windows PackageManager または winget
は現在プレビュー中です。winget
のプレビューをインストールするには、2つの選択肢があります。
- コマンド
winget
はオープンソースです。これは、技術的には、Github からリポジトリのクローンを作成し、ビルドして、実行できることを意味します。 - Microsoft アカウントを
winget-feedback@microsoft.com
に送信し、プレビューへの参加をリクエストすることで、Windows Insider になり、Windows Package ManagerInsider プログラムに参加することもできます。
Insider プログラムに参加した後、Microsoft Store にアクセスして、App Installer のアプリケーションを入手してください。アップデートを入手すると、Windows Package Manager または winget
が利用できるようになります。
これで、Windows Terminal、Windows CLI、または Windows PowerShell で Windows Package Manager または winget
の使用を開始できます。コマンドラインクライアント winget.exe
は、Microsoft コミュニティリポジトリを指すように事前構成されています。
Windows Package Manager で使用可能なすべての PowerShell インストーラーを確認するには、以下のコマンドを実行します。
winget search powershell
以下のコマンドを実行して、最新の Windows PowerShell(Core)7 バージョンをインストールできます。
winget install powershell
winget
を使用して、現在の Windows PowerShell バージョンをアップグレードすることもできます。
winget upgrade powershell
または、以下のスクリプトを使用して、更新された Windows PowerShell パッケージを取得することもできます。
Invoke-Expression "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
コマンドプロンプトから次のコマンドを実行し、ダウンロードされるまで待ちます。インストールウィザードが表示され、インストール手順に従います。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn