Al món dels desenvolupadors, sempre trobarem diverses situacions, des d'actualitzar la versió d'un servidor web fins a crear un script per automatitzar tasques. Si mai t'has trobat amb la necessitat d'executar scripts a Windows, és probable que t'hàgis trobat amb un error a la consola que t'ho hagi impedit.
cta:cloud_so_windows_10
Per a aquest cas, s'ha desenvolupat un script senzill anomenat "Script_Windows.ps1", el qual mostra un missatge a la pantalla. El contingut d'aquest script és el següent:
Write-Host "Hola SWUser!"
Per executar aquest script, cal obrir la consola de PowerShell i escriure el símbol "&" seguit de la ruta del fitxer i el nom del mateix, tot això entre cometes angleses, excepte el símbol inicial:
& "C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\SWUser\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Desktop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Script_Windows.ps1"
En general, l'error a la consola és un missatge que es mostrarà de la següent manera en executar l'script.
info & : No es pot carregar el fitxer C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\SWUser\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Desktop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Script_Windows.ps1 perquè l'execució de scripts està deshabilitada en aquest sistema. Per obtenir més informació, consulta el tema about_Execution_Policies a https:/go.microsoft.com/fwlink/?LinkID=135170.
Per poder executar els scripts, cal modificar la configuració d'execució de scripts de Windows, ja que per defecte ve deshabilitada per prevenir l'execució de scripts maliciosos al sistema.
PowerShell compta amb diverses polítiques d'execució, entre les quals se'n destaquen quatre de les més populars:
Restricted: Cap script serà executat. Configuració predeterminada.
RemoteSigned: Permetre els scripts locals i els scripts signats remots.
AllSigned: Permetre només scripts signats. Es contemplen els scripts creats localment.
Unrestricted: Permetre tots els scripts.
Per visualitzar la política actual d'execució, cal obrir PowerShell com a administrador. Per aconseguir-ho, simplement fes clic a Inici, escriu "Windows PowerShell", selecciona l'aplicació amb el botó dret i tria l'opció "Executar com a administrador".
Després d'obrir l'aplicació, executarem l'ordre següent:
Get-ExecutionPolicy -List
Això ens indica que la política d'execució no ha estat establerta. Per solucionar això, hem d'executar la següent ordre:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
En revisar els permisos novament, notarem que el resultat ha estat modificat i que per a l'usuari actual, la política d'execució és "RemoteSigned".
Finalment, si tornem a executar l'script que abans ens mostrava l'error, podrem observar que ara sí que es pot executar correctament.
En conclusió, Windows demostra el seu compromís amb la seguretat en no permetre l'execució d'scripts de tercers per defecte, evitant així possibles amenaces malicioses al sistema operatiu. A més, cal destacar que habilitar l'execució d'scripts no requereix coneixements tècnics avançats, cosa que permet als usuaris personalitzar les seves programacions segons les seves preferències sense gaires dificultats.
Si ja has après com modificar les polítiques d'execució d'scripts i estàs a punt per continuar avançant, et convidem a explorar les nostres ofertes. A SWHosting, trobaràs la promoció perfecta per a tu. Descobreix les nostres opcions de dominis i clouds per triar el que millor s'adapti als teus projectes. Amb preus competitius i una àmplia selecció, visita'ns i comença el teu camí cap a l'èxit en línia!
cta:cloud_so_windows_sw_2019_standard