【问题标题】:"Install-PackageProvider ContainerImage -Force" throws error in Windows Server 2016“Install-PackageProvider ContainerImage -Force”在 Windows Server 2016 中引发错误
【发布时间】:2021-07-28 11:12:59
【问题描述】:

作为在 Windows Server 2016 中安装容器的过程的一部分,我在 PowerShell 中以管理模式运行了命令“Install-PackageProvider ContainerImage -Force”。

我遇到了以下错误

警告:无法从 URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' 下载到 ''。 警告:无法下载可用提供程序的列表。检查您的互联网连接。 Install-PackageProvider:未找到与提供程序“ContainerImage”的指定搜索条件匹配的内容。这 包提供者需要“PackageManagement”和“Provider”标签。请检查指定的包裹是否有标签。 在 line:1 char:1

  • Install-PackageProvider ContainerImage -Force
  •   + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [Install-Pac
    kageProvider], Exception
      + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackagePro
    vider
    
    

另外附上图片The error

【问题讨论】:

    标签: docker windows-server-2016


    【解决方案1】:

    据我了解,问题在于 PowerShell 默认使用 TLS 1.0 来处理 Web 请求,这在我们的案例中不起作用。所以这需要改变。值得庆幸的是,这是一个简单的改变。只需将以下行添加到您的脚本中:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    

    这将强制使用 TLS 1.2(如果出于某种原因,您也可以使其使用 1.1)。

    请注意,这只会在该 PowerShell 会话中更改它,因此需要为您运行的每个脚本执行它。

    【讨论】:

      【解决方案2】:

      您收到此错误是因为您应该先添加默认存储库,尝试在 power shell 中使用以下命令添加它:

      Register-PSRepository -Default
      

      它现在应该可以工作了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-20
        • 2021-03-19
        • 1970-01-01
        • 2017-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-16
        相关资源
        最近更新 更多