- Per modificare i criteri di esecuzione di PowerShell, apri PowerShell (come amministratore) ed esegui il comando "Set-ExecutionPolicy RemoteSigned" per consentire l'esecuzione degli script. Il comando "Set-ExecutionPolicy AllSigned" consente l'esecuzione di script provenienti da autori attendibili. In alternativa, il comando "Set-ExecutionPolicy Unrestricted" consente l'esecuzione di script senza restrizioni.
- È inoltre possibile eseguire il comando "Set-ExecutionPolicy Restricted" per annullare le modifiche e impedire l'esecuzione degli script.
- Infine, è possibile abilitare gli script PowerShell modificando i criteri dall'app Impostazioni di Windows 11 e 10.
Su Windows 11 (o 10), per impostazione predefinita, quando si tenta di eseguire uno script in PowerShell, l'operazione fallisce con il messaggio di errore "Impossibile caricare perché l'esecuzione di script è disabilitata in questo sistema" . Questo accade perché PowerShell dispone di una funzionalità di sicurezza denominata "criteri di esecuzione" che controlla il caricamento dei file di configurazione e l'esecuzione degli script per impedire l'esecuzione di codice dannoso sul sistema.
Se è necessario eseguire uno script su Windows 11 (o 10), è possibile modificare i criteri di esecuzione per il computer locale, l'utente corrente o la sessione.
Quando si imposta un criterio di esecuzione di PowerShell per il computer locale e l'utente corrente, le informazioni vengono memorizzate nel Registro di sistema. Se si configura il criterio per una sessione specifica, questo viene mantenuto in memoria e quindi perso alla chiusura della sessione.
Secondo Microsoft , i criteri di esecuzione non limitano le azioni. È possibile aggirare i criteri digitando lo script nell'interfaccia a riga di comando (CLI). I criteri sono stati progettati per aiutare gli utenti a impedire l'esecuzione di script dannosi.
In questa guida , ti insegnerò come modificare i criteri di esecuzione per eseguire correttamente gli script in PowerShell su Windows 11 o 10.
Modificare i criteri di esecuzione su Windows 11 tramite PowerShell
Per modificare i criteri di esecuzione di PowerShell su Windows 11 (o 10), segui questi passaggi:
-
Apri il menu Start su Windows 11.
-
Cerca PowerShell , fai clic con il pulsante destro del mouse sul primo risultato e seleziona l' opzione Esegui come amministratore .
-
Digita il seguente comando per confermare i criteri di esecuzione correnti e premi Invio :
Get-ExecutionPolicy
-
(Facoltativo) Digitare il seguente comando per visualizzare i criteri di esecuzione di PowerShell effettivi e premere Invio :
Get-ExecutionPolicy -List
-
Digita il seguente comando per modificare i criteri di esecuzione di PowerShell e consentire l'esecuzione degli script su Windows 11, quindi premi Invio :
Imposta-Policy di esecuzione RemoteSigned
-
(Facoltativo) Digita il seguente comando per modificare i criteri di esecuzione e impedire l'esecuzione degli script, quindi premi Invio :
Imposta la policy di esecuzione con restrizioni

Una volta completati i passaggi, è possibile eseguire nuovamente lo script, che dovrebbe ora funzionare correttamente su Windows 11. Se non si desidera più consentire l'esecuzione di script sul computer, è possibile eseguire il comando facoltativo menzionato nei passaggi.
Se si desidera modificare i criteri di esecuzione per eseguire gli script per l'utente corrente o il computer locale, è necessario utilizzare l'opzione "Ambito" in questo modo: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUseroppure Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.
Su Windows 11, è possibile scegliere tra quattro diverse politiche di esecuzione per consentire o negare l'esecuzione degli script:
- Limitato: impedisce l'esecuzione di qualsiasi file di script.
- RemoteSigned — consente la creazione di script sul computer. Tuttavia, gli script creati su un altro dispositivo non verranno eseguiti senza una firma attendibile.
- AllSigned — consente l'esecuzione di tutti gli script. Tuttavia, solo se un editore affidabile ha incluso una firma.
- Senza restrizioni: esegue qualsiasi script senza limitazioni.
Non è necessario modificare i criteri di esecuzione se si deve eseguire uno script che non ha i parametri richiesti e non restituisce output. Invece, è possibile utilizzare il PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypasscomando per aggirare le restrizioni.
Modificare i criteri di esecuzione in Windows 11 dalle Impostazioni
Su Windows 11 e 10, è possibile consentire l'esecuzione di script in PowerShell modificando la configurazione della console dei comandi dall'app Impostazioni.
Da Windows 11
Per modificare i criteri di esecuzione di PowerShell dall'app Impostazioni, segui questi passaggi:
-
Apri Impostazioni .
-
Fai clic su Sistema .
-
Fai clic sulla pagina " Per gli sviluppatori" .
-
Fai clic sull'impostazione PowerShell .
-
Attiva l' interruttore "Modifica i criteri di esecuzione per consentire gli script PowerShell locali […]" .

Se non hai più bisogno di questa funzionalità, puoi bloccare gli script seguendo gli stessi passaggi, ma al passaggio 5 disattiva l' interruttore "Modifica i criteri di esecuzione per consentire gli script PowerShell locali […]" .
Da Windows 10
Per modificare i criteri di esecuzione di PowerShell dall'app Impostazioni, segui questi passaggi:
-
Apri Impostazioni .
-
Fai clic su Aggiornamento e sicurezza .
-
Fai clic sulla pagina " Per gli sviluppatori" .
-
Seleziona l' opzione "Modifica i criteri di esecuzione per consentire gli script PowerShell locali [...]" nelle impostazioni di PowerShell.

-
Fai clic sul pulsante Applica .
Se non hai più bisogno di questa funzionalità, puoi bloccare gli script seguendo gli stessi passaggi, ma al passaggio 4 deseleziona l' opzione "Modifica i criteri di esecuzione per consentire gli script PowerShell locali [...]" e applica le modifiche.
Una volta completati i passaggi, l'impostazione imposterà i criteri di esecuzione per PowerShell su "RemoteSigned". Questi criteri consentiranno di eseguire script senza firma, ma richiederanno la firma per gli script remoti.
Modificare la politica di esecuzione per consentire l'esecuzione di script non firmati digitalmente.
Se si dispone di uno script PowerShell creato su un altro computer o scaricato da Internet, provando a eseguirlo è possibile che venga visualizzato il messaggio di errore "Impossibile caricare il file […].ps1. Il file […].ps1 non è firmato digitalmente. Non è possibile eseguire questo script sul sistema corrente" oppure "Lo script non verrà eseguito sul sistema" . Tuttavia, a condizione che lo script sia sicuro da utilizzare e che provenga da una fonte attendibile, è possibile modificare i criteri di ambito "Processo" per eseguirlo correttamente.

Errore di firma digitale dello script PowerShell / Immagine: Mauro Huculak
Per modificare i criteri di esecuzione di PowerShell in modo da eseguire uno script ".ps1" non firmato digitalmente, segui questi passaggi:
-
Apri Start .
-
Cerca PowerShell , fai clic con il pulsante destro del mouse sul primo risultato e seleziona l' opzione Esegui come amministratore .
-
Digita il seguente comando per abilitare gli script PowerShell con firma digitale e premi Invio :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Una volta completati i passaggi, è possibile eseguire il file di script utilizzando il .\Your-PowerShell-Script.ps1comando durante la sessione corrente. Dopo aver chiuso la sessione di PowerShell, i criteri di esecuzione torneranno a quelli originali per impedire l'esecuzione di altri script.
Se devi eseguire un altro file di script, puoi ripetere i passaggi descritti sopra.
Aggiornamento del 10 ottobre 2024: Questa guida è stata aggiornata per garantirne l'accuratezza e per riflettere le modifiche apportate alla procedura.