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.