PnPをインストールしようとしたところ、エラーでインストールできなかったため解決方法を調査しました。
バージョンの確認
確認したところバージョンは以下です。OSはWindows8.1です。
PS C:\Windows\system32> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14409.1018
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1018
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
結論
PowerShellをバージョン7にアップロードしたら、インストールできた。
事象
まずはインストール時に以下のエラー
PS C:\Windows\system32> Install-Module SharePointPnPPowerShellOnline
WARNING: Unable to resolve package source 'https://www.powershellgallery.com/api/v2'.
PackageManagement\Install-Package : No match was found for the specified search criteria and module name 'SharePointPnPPowerShellOnline'. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1772 char:21
+ ... $null = PackageManagement\Install-Package @PSBoundParameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
「Get-PSRepository」で確認すると、信頼されないソースと判断されている。
PS C:\Windows\system32> Get-PSRepository
Name InstallationPolicy SourceLocation
---- ------------------ --------------
PSGallery Untrusted https://www.powershellgallery.com/api/v2
「Trusted」に設定できない
以下のように「Set-PSRepository」で「Trusted」に設定したが、確認しても変更されてなかった。
PS C:\Windows\system32> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
PS C:\Windows\system32> Get-PSRepository
Name InstallationPolicy SourceLocation
---- ------------------ --------------
PSGallery Untrusted https://www.powershellgallery.com/api/v2
PowerShellを7にバージョンアップして、インストール
以下のように実行しました。
ただ「PSRepository」を間違って消したしまっていたので、「Register-PSRepository -Default」で登録後、正常にインストールできました。
PS C:\Users\User> $PSVersionTable
Name Value
---- -----
PSVersion 7.0.3
PSEdition Core
GitCommitId 7.0.3
OS Microsoft Windows 6.3.9600
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
PS C:\Users\User> Install-Module SharePointPnPPowerShellOnline
Install-Package: C:\program files\powershell\7\Modules\PowerShellGet\PSModule.ps
m1:9709
Line |
9709 | … talledPackages = PackageManagement\Install-Package @PSBoundParameters
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| No match was found for the specified search criteria and module name
| 'SharePointPnPPowerShellOnline'. Try Get-PSRepository to see all
| available registered module repositories.
PS C:\Users\User> Register-PSRepository -Default
PS C:\Users\User> Get-PSRepository
Name InstallationPolicy SourceLocation
---- ------------------ --------------
PSGallery Untrusted https://www.powershellgallery.c…
PS C:\Users\User> Install-Module SharePointPnPPowerShellOnline
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this
repository, change its InstallationPolicy value by running the Set-PSRepository
cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "N"):y
PS C:\Users\User>
参考
以下参考にさせていただきました。
ありがとうございます。
PowerShell 5.1 環境で PowerCLI のインストールエラーが出た時の対処方法 ①(TLS バージョン問題での Install-Module や Register-PSRepository のエラー対応)
先日、踏み台サーバで利用している PowerCLI のバージョンアップをしようとしたところ Install-Module コマンドが使えず、Register-PSRepository での PowerShellGallery リポジトリの再登録などもエラーとなってしまった際の復旧...
PSGallery を信頼できるリポジトリとして設定する手順
PSGallery を信頼できるリポジトリとして設定する手順
コメント