Powershellのv2モジュールをインストールする際に"'Install-Module' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません" のエラーが発生した場合の対処法についてご紹介したいと思います。
このエラーは、v2モジュールを利用するためのシステム要件を満たしていない可能性があります。
v2 モジュールをインストールする場合、.Net frame work が 4.5 以降である必要があるため、下記のコマンドレットにて、現在、インストールされている [.NET Framework] のバージョンを確認します。
もし、.Net frame work が 4.5 以降でない場合は、4.5 以降に更新することでインストールが可能となるかご確認ください。
[実行例]
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
なお、.Net frame work が 4.5 以降でも改善しない場合は以下の方法をお試しいただくことでモジュールのインストールが可能となるかご確認ください。
NuGet / PowerShellGet の更新
以下のコマンドを実行します。
Install-PackageProvider -Name NuGet -Force
Install-Module -Name PowerShellGet -Force
TLS 1.2 有効化
以下のコマンドを実行します。
[Net.ServicePointManager]::SecurityProtocol
表示結果に Tls12 が含まれない場合は次のコマンドを実行します。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
その後次のコマンドを実行し、表示結果に Tls12 が含まれることを確認します。
[Net.ServicePointManager]::SecurityProtocol
PowerShell セッション内でのみ TLS 1.2 を有効化するものです