PowershellのExchangeOnlineManagementモジュールをインストールする際に以下のコマンドレットを実行した際のエラーについてご紹介したいと思います。
コマンドレット
Install-Module -Name ExchangeOnlineManagement
エラー内容
指定された検索条件とパッケージ名 'ExchangeOnlineManagement' と一致するものが見つかりませんでした。登録されている使用可能なすべてのパッケージ ソースを確認するには、Get-PSRepository を使用します。
エラーにあるとおり、Get-PSRepositoryを実行したところ、"パッケージソースが見つかりません" と警告が出たことから、必要なリポジトリが登録されていない状況と判断しました。
以下コマンドレットで PSRepository の再設定をおこなうことで解消できる可能性がありますので、お試しください。
Install-Module PowerShellGet -AllowClobber -Forceで同様のエラーとなる場合も有効です
コマンドレット 1
Register-PSRepository -Default
※ 上記コマンドレットを実行した際にエラーが表示される場合は、以下コマンドレットを実行した後に再度お試しください。
コマンドレット2
Unregister-PSRepository -Name 'PSGallery'
※ 再設定後、Get-PSRepository コマンドレットを実行すると [PSGallery] という結果が出力されます。
コマンドレット
Get-PSRepository
実行結果の表示例
Name InstallationPolicy SourceLocation
---- ------------------ --------------
PSGallery Untrusted https://www.powershellgallery.com/api/v2
Get-PSRepository コマンドレットを実行し、[PSGallery] という結果が出力された場合は、再度、Install-Module -Name ExchangeOnlineManagement を実行しても、エラーが発生するかご確認ください。
なお、上記の方法でも解消されない場合は、TLS1.2の有効化がおこなわれているかご確認ください。
1. [TLS 1.2] が有効となっているかを以下のコマンドにて確認します。
<実行コマンド>
[Net.ServicePointManager]::SecurityProtocol
<実行結果表示例>
SystemDefault
2. 実行結果に [Tls12] が含まれていない場合は、以下のコマンドで[TLS 1.2]を有効化します。
<実行コマンド>
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
3. その後、以下のコマンドを再度実行し、表示結果に Tls12 が含まれることを確認します。
[Net.ServicePointManager]::SecurityProtocol
<実行結果表示例>
Tls12
上記でも改善が無い場合、ネットワークの環境に起因した問題により、必要な URL にアクセスができていない可能性があります。
そのため、以下のネットワークの許可設定など問題が無いかご確認くださいますようお願い申し上げます。
Install-Module コマンドレット実行時、対象のモジュールの検索やダウンロードのため、以下のエンドポイントへの接続が必要となります。
プロキシ サーバーや、ファイアウォール等で接続が許可されていない場合、接続を許可してからコマンドレットを実行してみてください。
psg-prod-centralus.azureedge.net
: CDN (Content Delivery Network) ホスト名psg-prod-eastus.azureedge.net
: CDN (Content Delivery Network) ホスト名az818661.vo.msecnd.net
: CDN (Content Delivery Network) ホスト名devopsgallerystorage.blob.core.windows.net
: ストレージ アカウントのホスト名*.powershellgallery.com
: Web サイトgo.microsoft.com
: リダイレクト サービスonegetcdn.azureedge.net
: PowerShellGet/PackageManagement の NuGet プロバイダーのブートストラップ