PowerShell – Execução de Scripts Locais vs. Remotos
Gabarito: letra D. A política RemoteSigned com escopo CurrentUser atende exatamente ao objetivo: scripts locais podem executar sem assinatura, enquanto scripts baixados da Internet precisam ser assinados, e a configuração afeta apenas o usuário atual. O comando completo é Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.
A banca cobra o conhecimento das políticas de execução do PowerShell e seus escopos. O cenário descrito corresponde justamente à definição de RemoteSigned, que é a política mais comum em ambientes corporativos.
Alternativa A — ❌ Incorreta
Set-ExecutionPolicy Unrestricted -Scope LocalMachine – A política Unrestricted não exige assinatura de nenhum script, permitindo a execução de qualquer um, o que não atende à restrição para scripts baixados. Além disso, o escopo LocalMachine afeta todos os usuários do computador, contrariando o requisito de valer apenas para o usuário atual.
Alternativa B — ❌ Incorreta
Set-ExecutionPolicy Bypass -Scope CurrentUser – A política Bypass é a mais permissiva: não bloqueia nem avisa sobre scripts. Nenhuma assinatura é exigida, logo scripts da Internet também executariam sem restrição, descumprindo o objetivo.
Alternativa C — ❌ Incorreta
Set-ExecutionPolicy AllSigned -Scope CurrentUser – A política AllSigned exige que todos os scripts, sejam locais ou baixados, estejam assinados digitalmente. Scripts locais sem assinatura seriam impedidos, o que não é o desejado.
Alternativa D — ✅ Correta
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser – RemoteSigned determina que scripts criados no computador local podem executar sem assinatura, mas scripts vindos da Internet (ou de zonas consideradas não confiáveis) precisam ser assinados por um editor confiável. O escopo CurrentUser aplica a configuração apenas ao usuário logado, sem alterar a política de outros usuários. Portanto, é a solução exata.
Alternativa E — ❌ Incorreta
reg add HKLM\...\PowerShell /v ExecutionPolicy /t REG_SZ /d RemoteSigned – Embora defina a política RemoteSigned, essa chave de registro está em HKLM (HKEY_LOCAL_MACHINE), que afeta toda a máquina, não apenas o usuário atual. Além disso, alterar diretamente o registro não é a forma recomendada ou equivalente ao comando Set-ExecutionPolicy com escopo CurrentUser. A configuração global pode ser sobrescrita por políticas locais, mas não atende ao escopo exclusivo do usuário.
Gabarito: letra D