Correção: cmdlets assinados do PowerShell são executados mais lentamente do que cmdlets não assinados
Um cmdlet é um comando leve usado no ambiente Windows PowerShell . O tempo de execução do Windows PowerShell invoca esses cmdlets no contexto de scripts de automação fornecidos na linha de comando. O tempo de execução do Windows PowerShell também os invoca programaticamente por meio de APIs do Windows PowerShell(Windows PowerShell APIs) . Na postagem de hoje, identificaremos a causa e forneceremos a solução alternativa para o problema de cmdlets assinados do PowerShell(PowerShell cmdlets) serem executados mais lentamente do que cmdlets não assinados no Windows .
Os cmdlets executam uma ação e normalmente retornam um objeto do Microsoft .NET Framework para o próximo comando no pipeline. Para escrever um cmdlet, você deve implementar uma classe de cmdlet derivada de uma das duas classes base de cmdlet especializadas. A classe derivada deve:
- Declare um atributo que identifica a classe derivada como um cmdlet.
- Defina(Define) propriedades públicas decoradas com atributos que identificam as propriedades públicas como parâmetros de cmdlet.
- Substitua um ou mais dos métodos de processamento de entrada para processar registros.
Os cmdlets assinados do PowerShell são executados mais lentamente do que os cmdlets não assinados
Você notará que os cmdlets assinados do Windows PowerShell(Windows PowerShell) estão sendo executados mais lentamente do que os cmdlets não assinados.
Esse problema ocorre porque o computador não pode se conectar aos seguintes endereços para verificação da lista de confiança de certificados(Certificate Trust List) ( CTL ):
http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab
Isso ocorre quando existe um problema de rede. Por exemplo, há configurações de proxy incorretas.
Para contornar esse problema, faça o seguinte:
- Pressione a tecla Windows + R. Na caixa de diálogo Executar , digite (Run)gpedit.msc e pressione Enter para abrir o Editor de Diretiva de Grupo Local(open Local Group Policy Editor) .
- Navegue até o caminho abaixo:
Computer Configuration > Windows Settings > Security Settings > Public Key Policies
- No painel de detalhes à direita, clique duas vezes em Configurações de validação do caminho do certificado(Certificate Path Validation Settings) .
- Selecione a guia Recuperação de Rede .(Network Retrieval)
- Marque a caixa de seleção Definir estas configurações de política .(Define these policy settings)
- Desmarque a caixa de seleção Atualizar certificados automaticamente no Programa de certificados raiz da Microsoft (recomendado)(Automatically update certificates in the Microsoft Root Certificate Program (recommended) ) .
- Clique em Aplicar(Apply) > OK.
Agora você pode sair do Editor de Diretiva de Grupo Local(Local Group Policy Editor) .
That’s it!
Related posts
Desativar Security Questions em Windows 10 usando um PowerShell Script
Check Windows 10 OS architecture usando PowerShell or Command Prompt
Create System Restore Point usando Command Prompt or PowerShell
Como usar Windows PowerShell ISE - Iniciantes Tutorial
O que é PWSH.EXE? Lista de PWSH syntax Você pode usar
Export and Backup Device Drivers usando PowerShell em Windows 10
Como instalar o PowerShell 7.0 no Windows 10
PowerShell script para verificar Windows Update status
Como encontrar e desativar Webcams usando PowerShell em Windows 10
Como redefinir Microsoft Store apps usando PowerShell em Windows 10
Como desativar PowerShell em Windows 10
PowerShell abre em Startup em Windows 10
Fix PowerShell causando High CPU usage em Windows 11/10
Como criar Local User Account usando PowerShell em Windows 10
Ativar Remote Desktop usando Command Prompt or PowerShell
Como Delete ou criar uma tarefa agendada com PowerShell em Windows 11
Change Local Account password usando Command Prompt or PowerShell
Como abrir um PowerShell prompt elevado em Windows 10
Solucionar problemas Windows Server Network connectivity Questões via PowerShell
PowerShell Get-Appxpackage não funciona ou Access negado