Guida dettagliata per modificare i criteri di esecuzione per l’esecuzione di script PowerShell

Guida dettagliata per modificare i criteri di esecuzione per l’esecuzione di script PowerShell
  • Per modificare la policy di esecuzione di PowerShell, avviare PowerShell (amministratore) ed eseguire il comando “Set-ExecutionPolicy RemoteSigned” per abilitare l’esecuzione dello script. In alternativa, il comando “Set-ExecutionPolicy AllSigned” consente solo gli script provenienti da editori verificati. Il comando “Set-ExecutionPolicy Unrestricted” , d’altro canto, consente a tutti gli script di essere eseguiti liberamente.
  • Se si desidera ripristinare le impostazioni predefinite, utilizzare il comando “Set-ExecutionPolicy Restricted” per impedire del tutto l’esecuzione dello script.
  • È anche possibile modificare le autorizzazioni degli script di PowerShell tramite l’applicazione Impostazioni di Windows 10 o 11.

Per impostazione predefinita, su Windows 10 o 11, il tentativo di eseguire uno script in PowerShell potrebbe causare un messaggio di errore che indica “impossibile caricare perché l’esecuzione degli script è disabilitata su questo sistema” . Questo errore si verifica a causa di una policy di esecuzione in atto per la sicurezza, che controlla come vengono eseguiti gli script e i file di configurazione per evitare attività dannose sul sistema.

Per eseguire uno script su questi sistemi operativi, è possibile modificare la policy di esecuzione per la macchina locale, l’utente corrente o la sessione stessa.

Quando si imposta un criterio di esecuzione per l’utente corrente o per la macchina locale, queste informazioni vengono memorizzate nel Registro di sistema di Windows. Tuttavia, se si imposta il criterio solo per una sessione, tale modifica persisterà solo fino alla chiusura di PowerShell.

Come affermato da Microsoft , queste policy di esecuzione non impongono restrizioni alle attività. È possibile aggirarle temporaneamente immettendo lo script direttamente nella riga di comando. L’intenzione dietro queste policy è quella di aiutare gli utenti a evitare l’esecuzione di script dannosi.

Questa guida fornirà istruzioni dettagliate su come modificare i criteri di esecuzione per consentire l’esecuzione corretta degli script in PowerShell su Windows 10 o 11.

Modificare i criteri di esecuzione su Windows 11 tramite PowerShell

Per modificare i criteri di esecuzione di PowerShell su Windows 10 o 11, attenersi alla seguente procedura:

  1. Premi Start sul tuo dispositivo Windows 11.

  2. Cerca PowerShell , fai clic con il pulsante destro del mouse sul risultato in alto e seleziona Esegui come amministratore .

  3. Immettere il seguente comando per verificare la politica di esecuzione corrente e premere Invio :

    Get-ExecutionPolicy

  4. (Facoltativo) Per elencare i criteri di esecuzione di PowerShell efficaci, digitare il seguente comando e premere Invio :

    Get-ExecutionPolicy -List

  5. Per consentire l’esecuzione degli script sul tuo computer Windows 11, immetti il ​​seguente comando e premi Invio :

    Set-ExecutionPolicy RemoteSigned

  6. (Facoltativo) Per impedire l’esecuzione di qualsiasi script, puoi immettere questo comando e premere Invio :

    Set-ExecutionPolicy Restricted
    Criterio di esecuzione delle modifiche di PowerShell

Dopo aver completato i passaggi, dovresti essere in grado di eseguire correttamente lo script su Windows 11. Se in qualsiasi momento desideri ripristinare le autorizzazioni di esecuzione dello script, puoi eseguire il comando facoltativo descritto sopra.

Se è necessario impostare la policy di esecuzione per consentire l’esecuzione dello script solo all’utente corrente o al dispositivo locale, è possibile utilizzare l’opzione “Ambito” con il comando, in questo modo: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUseroppure Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.

In Windows 11 sono disponibili quattro criteri di esecuzione per controllare quali script possono essere eseguiti:

  • Limitato: impedisce l’esecuzione di tutti gli script.
  • RemoteSigned: consente la creazione di script localmente, ma richiede che gli script provenienti da altre macchine siano firmati da un editore attendibile.
  • AllSigned: consente tutti gli script, a condizione che siano firmati da una fonte attendibile.
  • Senza restrizioni: consente l’esecuzione di qualsiasi script senza limitazioni.

Se il tuo script non richiede parametri specifici e non fornisce alcun output, potrebbe non essere necessario modificare la policy di esecuzione. Puoi invece utilizzare il comando PowerShell.exe -File "FILENAME"-ExecutionPolicy Bypassper aggirare le restrizioni.

Modificare i criteri di esecuzione su Windows 11 tramite Impostazioni

Su Windows 10 e 11, puoi anche modificare le autorizzazioni degli script di PowerShell tramite l’app Impostazioni.

Per Windows 11

Per aggiornare i criteri di esecuzione tramite l’applicazione Impostazioni, attenersi alla seguente procedura:

  1. Apri Impostazioni .

  2. Selezionare Sistema .

  3. Vai alla sezione Per sviluppatori .

  4. Fare clic sull’opzione PowerShell .

  5. Attivare l’opzione “Modifica criterio di esecuzione per consentire script PowerShell locali […]” .

    Le impostazioni di Windows 11 modificano l'esecuzione di PowerShell

Se decidi di non voler più abilitare questa opzione, segui semplicemente gli stessi passaggi e, al punto 5 , disattiva l’interruttore a levetta.

Per Windows 10

Per aggiornare i criteri di esecuzione di PowerShell tramite l’app Impostazioni, seguire questa procedura:

  1. Apri Impostazioni .

  2. Selezionare Aggiornamento e sicurezza .

  3. Vai alla sezione Per sviluppatori .

  4. Abilitare l’ opzione “Modifica criterio di esecuzione per consentire script PowerShell locali […]” nelle impostazioni di PowerShell.

    Le impostazioni di Windows 10 modificano l'esecuzione di PowerShell

  5. Fare clic sul pulsante Applica per salvare le modifiche.

Se desideri disattivare questa funzione, ripeti gli stessi passaggi ma al punto 4 disattiva l’opzione e applica le modifiche.

Dopo aver completato i passaggi, il criterio di esecuzione di PowerShell verrà impostato su “RemoteSigned”, consentendo di eseguire script locali senza richiedere una firma, insistendo sulla verifica per gli script remoti.

Modificare la politica di esecuzione per eseguire script non firmati

Se incontri uno script di PowerShell che ha avuto origine da un altro computer o è stato scaricato online, il tentativo di eseguirlo potrebbe generare un errore che indica “Il file […].ps1 non può essere caricato. Il file […].ps1 non è firmato digitalmente. Non puoi eseguire questo script sul sistema corrente” o “Lo script non verrà eseguito sul sistema” . Tuttavia, se sei certo della sua sicurezza e la fonte è attendibile, puoi modificare la policy di ambito “Processo” per autorizzarne l’esecuzione.

Errore script PowerShell non firmato digitalmente
Errore script PowerShell non firmato digitalmente / Immagine: Mauro Huculak

Per modificare i criteri di esecuzione di PowerShell per consentire l’esecuzione di uno script “.ps1” non firmato digitalmente, attenersi alla seguente procedura:

  1. Aprire Start .

  2. Cerca PowerShell , fai clic con il pulsante destro del mouse sul risultato in alto e scegli Esegui come amministratore .

  3. Per modificare i criteri e consentire gli script di PowerShell non firmati, immettere il seguente comando e premere Invio :

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    PowerShell consente script non firmati digitalmente

Dopo aver eseguito questi passaggi, esegui il file script con il comando .\Your-PowerShell-Script.ps1durante la sessione corrente. Nota che una volta chiusa la sessione di PowerShell, la policy di esecuzione verrà ripristinata allo stato precedente, impedendo ad altri script di essere eseguiti senza ulteriori modifiche.

Se è necessario eseguire un altro script, è possibile ripetere i passaggi descritti.

Aggiornamento 10 ottobre 2024: la presente guida è stata rivista per garantirne l’accuratezza e riflettere i recenti adattamenti intervenuti nel processo.

Fonte

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *