No Windows, sempre que clico em um arquivo .bat
, .cmd
ou .vbs
script (Batch e VBScript), eles são executados por seus mecanismos individuais (Prompt de comando e host de script do Windows).
Então, por que a extensão do powershell está .ps1
associada ao bloco de notas por padrão, em vez do Powershell?
Aparentemente, a Microsoft tentou projetar o PowerShell como seguro por padrão. Embora a Microsoft pareça não ter declarado isso explicitamente em nenhum lugar, essa restrição provavelmente foi feita para impedir que os usuários fossem induzidos a executar e espalhar scripts maliciosos.
Há uma boa descrição de por que isso pode ser perigoso aqui :
Na prática, porém, o código do powershell pode ser executado por meio de um
.bat
arquivo simplesmente passando o código como um argumento de linha de comando para o powershell. Portanto, o PowerShell agora conta com AMSI (Anti-Malware Scan Interface) para bloquear scripts maliciosos. Por algum motivo inexplicável, a restrição original foi mantida.