Невозможно загрузить с URI, ошибка модуля установки PowerShell

На компьютере с Windows 11 или Windows 10 вы можете получить сообщение об ошибке Unable to Download from URI, PowerShell Install-Module при попытке подключиться к репозиторию PowerShell или запустить командлет Install-Module для установки пакета на свое устройство. Этот пост предлагает наиболее применимое решение этой проблемы.

Невозможно загрузить из-URI-PowerShell-Install-Module-Error

При возникновении этой ошибки вы получите вывод в следующих аналогичных строках;

ПРЕДУПРЕЖДЕНИЕ. Невозможно выполнить загрузку с URI «https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409» в «».
ВНИМАНИЕ: Не удалось загрузить список доступных провайдеров. Проверьте подключение к Интернету.
PackageManagement\Install-PackageProvider : не найдено совпадений для указанных критериев поиска для поставщика «NuGet». Для поставщика пакетов требуются теги PackageManagement и Provider. Пожалуйста, проверьте, есть ли у указанного пакета теги.

Номатчфаундфорпровидер, Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider

PackageManagement\Import-PackageProvider : не найдено совпадений для указанных критериев поиска и имени поставщика «NuGet». Попробуйте Get-PackageProvider -ListAvailable, чтобы узнать, существует ли поставщик в системе.

NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.ImportPackageProvider

Вероятность возникновения этой проблемы связана с тем, что хотя Azure и Office 365 перешли на TLS 1.2, некоторые другие старые компоненты по умолчанию обычно не используют TLS 1.2. Итак, это один из тех случаев, когда PowerShell использует неправильную конфигурацию TLS.

Невозможно загрузить с URI, ошибка модуля установки PowerShell

Эта проблема возникает, когда PowerShell пытается подключиться к репозиторию NuGet, используя устаревшие протоколы TLS/SSL вместо текущего TLS 1.2 или более нового TLS 1.3. Итак, если вы столкнулись с Ошибка установки модуля PowerShell, невозможно загрузить с URIвы можете попробовать следующее предложение, чтобы решить проблему в вашей системе.

  1. Проверить и обновить версию PowerShell
  2. Настройте PowerShell для использования TLS 1.2.

Рассмотрим предложения подробно.

Прежде чем попробовать приведенные ниже предложения, как указано в выводе об ошибке, проверьте подключение к Интернету, чтобы убедиться, что на вашем ПК нет проблем с подключением к Интернету, и устраните возможные проблемы с сетью и подключением к Интернету на вашем устройстве.

1]Проверьте и обновите версию PowerShell

Проверить и обновить версию PowerShell

Чтобы легко и быстро решить Невозможно загрузить с URI, ошибка модуля установки PowerShell в вашей системе Windows 11/10 вы можете сначала проверить и обновить версию PowerShell, установленную на вашем компьютере. Если ваша версия PowerShell 5.1.14xx или более ранняя, обновите PowerShell.

По умолчанию более ранние версии PowerShell используют SSL 3.0 и TLS 1.0 для установки безопасных подключений HTTPS к репозиториям. Если вы обновили PowerShell и запустили командлет Install-Module для установки пакета на свое устройство, но отображаемая ошибка повторяется, вы можете перейти к следующему предложению.

2]Настройте PowerShell для использования TLS 1.2.

Настройте PowerShell для использования TLS 1.2.

Теперь, когда вы обновили PowerShell в своей системе, но по-прежнему получаете сообщение об ошибке, вы можете проверить и убедиться, что PowerShell настроен на использование TLS 1.2 или новее. Сделайте следующее:

[Net.ServicePointManager]::Протокол безопасности

Как уже упоминалось, для репозитория Microsoft требуется TLS 1.2 или TLS 1.3 с клиентских машин Windows 11/10; поэтому, если выходные данные показывают, что PowerShell использует устаревший SSL 3.0, TLS 1.0 или TLS 1.1, теперь вы можете запустить приведенную ниже команду, чтобы настроить PowerShell на использование TLS1.2 или новее:

[Net.ServicePointManager]::Протокол безопасности = [Net.SecurityProtocolType]::Tls12

После этого вы можете без проблем установить модуль PowerShell с помощью Install-Module.

Однако приведенный выше командлет является временным обходным путем для этого конкретного сеанса PowerShell. Итак, чтобы сделать этот параметр постоянным, чтобы каждый раз вручную не менять версию протокола подключения HTTPS, вы можете установить TLS 1.2 в качестве протокола подключения по умолчанию в .NET Framework 4.5 и новее, выполнив следующие команды для редактирования реестра (убедитесь, для резервного копирования реестра или создания точки восстановления системы):

Для 64-разрядной версии .NET Framework 4 и выше

Set-ItemProperty -Path ‘HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319’ -Name ‘SchUseStrongCrypto’ -Value ‘1’ -Type DWord

Для 32-разрядной версии .NET Framework 4 и выше

Set-ItemProperty -Path ‘HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319’ -Name ‘SchUseStrongCrypto’ -Value ‘1’ -Type DWord

После этого перезапустите PowerShell и проверьте наличие поддерживаемых протоколов. Теперь для подключения PowerShell всегда будет использоваться TLS 1.2, и вы сможете установить любой модуль с помощью NuGet.

Надеюсь, вы найдете этот пост достаточно информативным и полезным!

Сообщение по теме: Команда Install-Module была найдена в модуле PowerShellGet, но модуль не может быть загружен

Какую версию TLS использует мой сервер?

Введите URL-адрес, который вы хотите проверить, в браузере. Щелкните правой кнопкой мыши страницу или выберите раскрывающееся меню Страница и выберите Свойства. В новом окне найдите раздел «Подключение». Здесь будет описана используемая версия TLS или SSL.

Как включить TLS 1.1 и TLS 1.2 на Mac?

Нажмите Ctrl+F12 (или Command+F12 на Mac) или откройте меню Opera и перейдите в «Настройки» → «Настройки». Нажмите на вкладку «Дополнительно», затем «Безопасность» на левой боковой панели, затем кнопку «Протоколы безопасности». Убедитесь, что установлен флажок «Включить TLS 1.2».

Уязвим ли TLS 1.2?

В TLS 1.2 есть уязвимость. Хотя исследователи говорят, что его «очень сложно использовать», и крупные поставщики уже выпустили для него исправления безопасности. TLS 1.3 — это последняя версия наиболее распространенного протокола безопасности в Интернете, который шифрует данные для обеспечения безопасного канала связи между двумя конечными точками.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.