Come consentire l'esecuzione di script PowerShell su Windows 7
Quando si scarica uno script da Internet e si tenta di eseguirlo, se non si è configurato in precedenza PowerShell, verrà generato un brutto errore nel carattere rosso. Questo è sufficiente per spaventare la maggior parte degli utenti, ma c'è una soluzione facile.
PowerShell ha un numero di modalità di esecuzione che definiscono quale tipo di codice è consentito eseguire, questo è regolato da una chiave di registro che risiede nell'hive HKLM. Ci sono 4 diverse modalità di esecuzione, sono:
- Limitato: La politica di esecuzione predefinita, non esegue script, solo comandi interattivi.
- Tutto firmato: Esegue script; tutti gli script e i file di configurazione devono essere firmati da un editore di cui ti fidi; ti espone al rischio di eseguire script firmati (ma malevoli), dopo aver verificato che ti fidi del publisher.
- Remote Signed: Gli script locali vengono eseguiti senza firma. Qualsiasi script scaricato richiede una firma digitale, anche un percorso UNC.
- illimitato: Esegue script; tutti gli script e i file di configurazione scaricati da applicazioni di comunicazione come Microsoft Outlook, Internet Explorer, Outlook Express e Windows Messenger vengono eseguiti dopo aver confermato di aver compreso il file originato da Internet; non è richiesta la firma digitale; ti espone al rischio di eseguire script maligni non firmati scaricati da queste applicazioni
Il criterio di esecuzione predefinito di PowerShell si chiama Restricted. In questa modalità, PowerShell funziona solo come shell interattiva. Non esegue script e carica solo i file di configurazione firmati da un editore di cui ti fidi. Se si ottiene il brutto errore rosso, la causa più probabile è che si sta tentando di eseguire uno script non firmato. La cosa più sicura da fare è cambiare la politica di esecuzione in modo illimitato, eseguire il tuo script e poi cambiarlo di nuovo in ristretto.
Per cambiarlo in unlimitato eseguire il seguente comando da un PowerShell amministrativo:
Set-ExecutionPolicy Unrestricted
Ti verrà chiesto se sei sicuro di voler modificare la Politica di esecuzione e premi nuovamente il pulsante Invio.
Ora puoi eseguire gli script scaricati senza problemi. Tuttavia, è un serio rischio per la sicurezza se si dimentica di impostare la politica di esecuzione sulla modalità con restrizioni. Probabilmente potresti indovinare come riportarlo su Restricted, ma in caso contrario non lo fai:
Set-ExecutionPolicy Restricted
Di nuovo ti verrà chiesto se sei sicuro di voler cambiare la modalità di esecuzione, vai avanti e premi invio.