segunda-feira, 18 de outubro de 2021

Não é possível instalar o provedor NuGet para PowerShell

 

Não é possível instalar o provedor NuGet para PowerShell

 

Antes de instalar o módulo EXO V2, precisamos instalar o módulo PowerShellGet. O problema é que não conseguimos instalar o provedor NuGet e alguns erros estão aparecendo. Aviso, não foi possível baixar do URI, não foi possível baixar a lista de provedores disponíveis. Após os erros, ele não instalou. Neste artigo, você aprenderá por que isso está acontecendo e a solução para instalar o provedor NuGet para PowerShell.

Índice

·         Não é possível instalar o provedor NuGet para PowerShell

·         Encontre a versão do PowerShell

·         Verifique os protocolos do Transport Layer Security

·         Protocolos de segurança da camada de transporte

·         Solução para não conseguir instalar o provedor NuGet para PowerShell

·         Conclusão

Não é possível instalar o provedor NuGet para PowerShell

Execute o PowerShell como administrador. Execute o comando Install-Module PowershellGet -Force . Quando solicitado a instalar o provedor NuGet, pressione Y e pressione Enter .

[PS] C:\>Install-Module PowershellGet -Force

 

NuGet provider is required to continue

PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or

'C:\Users\administrator.EXOIP\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install

and import the NuGet provider now?

[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

cópia de

Depois de pressionar Y e seguir com Enter , a saída está nos dando os seguintes avisos.

·         AVISO: Não é possível baixar do URI.

·         AVISO: Impossível baixar a lista de provedores disponíveis. Verifique sua conexão com a internet.

·         Não foi possível encontrar o provedor de pacotes 'NuGet'. Não pode ser importado ainda.

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.

WARNING: Unable to download the list of available providers. Check your internet connection.

PackageManagement\Install-PackageProvider : No match was found for the specified search criteria for the provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the specified package has the

tags.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7405 char:21

+ ...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [Install-PackageProvider], Exception

    + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider

 

PackageManagement\Import-PackageProvider : No match was found for the specified search criteria and provider name 'NuGet'. Try 'Get-PackageProvider -ListAvailable' to see if the provider exists on the system.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7411 char:21

+ ...     $null = PackageManagement\Import-PackageProvider -Name $script:Nu ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidData: (NuGet:String) [Import-PackageProvider], Exception

    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.ImportPackageProvider

 

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.

WARNING: Unable to download the list of available providers. Check your internet connection.

PackageManagement\Get-PackageProvider : Unable to find package provider 'NuGet'. It may not be imported yet. Try 'Get-PackageProvider -ListAvailable'.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7415 char:30

+ ... tProvider = PackageManagement\Get-PackageProvider -Name $script:NuGet ...

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...PackageProvider:GetPackageProvider) [Get-PackageProvider], Exception

    + FullyQualifiedErrorId : UnknownProviderFromActivatedList,Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackageProvider

 

Install-Module : NuGet provider is required to interact with NuGet-based repositories. Please ensure that '2.8.5.201' or newer version of NuGet provider is installed.

At line:1 char:1

+ Install-Module PowershellGet -Force

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidOperation: (:) [Install-Module], InvalidOperationException

    + FullyQualifiedErrorId : CouldNotInstallNuGetProvider,Install-Module

cópia de

Por que estamos recebendo este erro e qual é a solução para não conseguir instalar e baixar o provedor NuGet?

Encontre a versão do PowerShell

Encontre a versão do PowerShell em execução no sistema. Usaremos o cmdlet Get-Host no Windows Server 2016.

[PS] C:\>Get-Host | Select-Object Version

 

Version

-------

5.1.14393.3471

cópia de

O PowerShell 5.1 habilita SSL 3.0 e TLS 1.0 para conexões HTTP seguras por padrão. Vamos confirmar isso na próxima etapa.

Verifique os protocolos do Transport Layer Security

Verifique os protocolos de segurança suportados no sistema.

[PS] C:\>[Net.ServicePointManager]::SecurityProtocol

Ssl3, Tls

cópia de

Como podemos ver, os protocolos de segurança definidos no sistema são SSL 3.0 e TLS 1.0 . Ambos os protocolos de segurança foram preteridos.

Protocolos de segurança da camada de transporte

Veja uma lista dos protocolos de segurança e quando eles são publicados, incluindo o status atual. No momento da redação, apenas o TLS 1.2 e o TLS 1.3 foram aprovados.

Protocol    Published    Status

--------    ---------    ------

SSL 2.0     1995         Deprecated in 2011

SSL 3.0     1996         Deprecated in 2015

TLS 1.0     1999         Deprecated in 2020

TLS 1.1     2006         Deprecated in 2020

TLS 1.2     2008

TLS 1.3     2018

cópia de

Solução para não conseguir instalar o provedor NuGet para PowerShell

Agora que reunimos todas as informações, vamos habilitar o TLS 1.2 no sistema. Execute os dois cmdlets para definir as chaves de registro de criptografia forte do .NET Framework . Depois disso, reinicie o PowerShell e verifique se o protocolo de segurança TLS 1.2 foi adicionado. Por último, instale o módulo PowerShellGet .

O primeiro cmdlet é definir criptografia forte em .Net Framework de 64 bits (versão 4 e superior).

[PS] C:\>Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

cópia de

O segundo cmdlet é definir criptografia forte no .Net Framework de 32 bits (versão 4 e superior).

[PS] C:\>Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

cópia de

Reinicie o Powershell e verifique os protocolos de segurança compatíveis.

[PS] C:\>[Net.ServicePointManager]::SecurityProtocol

Tls, Tls11, Tls12

cópia de

Execute o comando Install-Module PowershellGet -Force e pressione Y para instalar o provedor NuGet, depois pressione Enter .

[PS] C:\>Install-Module PowershellGet -Force

 

NuGet provider is required to continue

PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or

'C:\Users\administrator.EXOIP\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install

and import the NuGet provider now?

[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

cópia de

O provedor NuGet foi baixado com sucesso. Isso funcionou para você?

Conclusão

Neste artigo, você aprendeu por que não consegue instalar o provedor NuGet para PowerShell. A solução para esse problema é configurar o TLS1.2 ou superior no sistema. Depois disso, você pode instalar o NuGet para PowerShell. Gostou deste artigo? Você também pode gostar de logs do Cleanup Exchange automaticamente com tarefas agendadas . Não se esqueça de nos seguir e compartilhar este artigo.

 

0 comentários :

Enviar um comentário