PowerShell: impossibile caricare il file perché l'esecuzione dello script è disabilitata sul sistema

Microsoft ha integrato Windows PowerShell come console di gestione predefinita nei suoi sistemi operativi domestici (Windows 10) e aziendali (Windows Server) per eseguire centinaia di attività in modo semplice, sicuro e completamente funzionale.

Ora, tra le attività che possiamo eseguire con Windows PowerShell c'è l'esecuzione di script che hanno il compito di automatizzare le attività di routine o di eseguirne una in particolare facilitando le azioni amministrative, e sebbene questo sia qualcosa di veramente utile può comportare alcuni rischi poiché Uno script con contenuto dannoso può influenzare vari componenti del sistema come i suoi registri o servizi, creando un impatto negativo sulle sue prestazioni e sul suo funzionamento.

Per questo motivo Microsoft offre varie opzioni che come utenti possiamo selezionare per l'esecuzione degli script, dall'abilitarli tutti indipendentemente dalla loro fonte (niente consigliata) al restringerli tutti.

1. Visualizza i criteri di esecuzione di Windows PowerShell


Microsoft ci fornisce una serie di direttive di esecuzione di Windows PowerShell in tutto ciò che riguarda gli script, che sono.

LimitatoÈ la regola predefinita e con essa è consentita l'esecuzione di singoli comandi, ma non verranno eseguiti script, inoltre impedisce l'esecuzione di tutti i file di script, inclusi i file di configurazione e formato (.ps1xml), il Modulo file di script (.psm1) e profili di Windows PowerShell (.ps1).

Allsigned (solo firme)Con questo tipo di direttiva è possibile eseguire script, per questo è necessario che tutti gli script e i file di configurazione siano firmati da un editore attendibile, inclusi gli script che sono scritti sul computer locale, viene richiesta un'ulteriore conferma prima di eseguire script di editori non classificati che sono o non sono fidati.

Firmato da remotoQuesta direttiva consente l'esecuzione di script, per questo richiede una firma digitale da un editore affidabile negli script e nei file di configurazione che vengono scaricati da Internet (inclusi i programmi di posta elettronica e di messaggistica istantanea), non richiede la firma digitale negli script che hanno sono stati scritti sul computer locale, ovvero non sono stati scaricati da Internet ed è possibile eseguire script scaricati da Internet e non firmati, se sbloccati, ad esempio utilizzando il cmdlet Unblock-File.

senza restrizioniQuesta direttiva ci dà la possibilità di eseguire script non firmati che è un alto rischio per la sicurezza e avverte l'utente prima di eseguire file di configurazione e script scaricati da Internet per aggiungere sicurezza.

CirconvallazioneCon questa direttiva nulla viene bloccato e non verranno visualizzati né avvisi né messaggi di sicurezza, questa direttiva di esecuzione è stata pensata per configurazioni in cui uno script di Windows PowerShell è integrato in un'applicazione più grande o in configurazioni in cui Windows PowerShell è la base di un programma che dispone di un proprio modello di sicurezza.

Non definitoQuesta opzione indica che non è impostato alcun criterio di esecuzione nell'ambito corrente, quindi se il criterio di esecuzione in tutti gli ambiti è Non definito, il criterio di esecuzione automatica sarà limitato, ovvero il criterio di esecuzione predefinito in Windows 10.

Per vedere tutte le direttive di Windows PowerShell possiamo eseguire quanto segue. Ora vedremo come stabilire una nuova direttiva per eseguire correttamente uno script in Windows PowerShell.

 Get-ExecutionPolicy -List 

INGRANDIRE

2. Esegui script con il comando ExecutionPolicy Windows PowerShell

Passo 1
Per utilizzare questa opzione abbiamo due opzioni da eseguire in Windows PowerShell come amministratori, che sono:

 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy RemoteSigned -Force
Passo 2
Una volta che una di queste righe è stata eseguita, possiamo convalidare il risultato utilizzando il seguente cmdlet:
 Get-ExecutionPolicy -List

INGRANDIRE

3. Esegui script in Windows PowerShell con l'editor del registro

Passo 1
Per questo metodo si consiglia di creare una copia di backup dei file o creare un punto di ripristino in caso di qualche tipo di errore, quindi utilizzeremo le seguenti chiavi ed eseguiremo quanto segue:

+ R

 Regedit 
Passo 2
Nella finestra che verrà visualizzata andiamo al seguente percorso.
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell 
Passaggio 3
Lì faremo clic con il pulsante destro del mouse su "Microsoft.PowerShell" e selezioneremo l'opzione "Nuovo / Valore stringa":

Passaggio 4
Questo nuovo valore si chiamerà "ExecutionPolicy":

INGRANDIRE

Passaggio 5
Faremo doppio clic su questo valore e nel campo "Informazioni valore" inseriremo "RemoteSigned":

Passaggio 6
Clicca su Accetta e vedremo che questa direttiva viene applicata:

INGRANDIRE

4. Esegui script in Windows PowerShell con Criteri di gruppo

Passo 1
Questa opzione è disponibile per le edizioni Pro ed Enterprise di Windows 10 e per accedervi utilizzeremo le seguenti chiavi ed eseguiremo quanto segue:

+ R

 gpedit.msc 
Passo 2
Quando si preme Invio verrà visualizzata la seguente finestra e lì andremo al seguente percorso:
  • Configurazione dell'attrezzatura
  • Modelli amministrativi
  • Componenti di Windows
  • Windows PowerShell

Passo 2
Lì selezioniamo e apriamo la politica chiamata "Attiva l'esecuzione di script":

INGRANDIRE

Passaggio 3
Nella finestra visualizzata attiviamo la casella "Abilitato" e nel campo "Direttiva di esecuzione" possiamo selezionare una delle seguenti opzioni. Una volta definita la direttiva, fare clic su Applica e OK per salvare le modifiche.

  • Consenti solo script firmati
  • Consenti script locali e script firmati remoti
  • Consenti tutti gli script

Con uno qualsiasi di questi metodi sarà possibile fare un uso corretto degli script in ambienti Windows.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave