PowerShell ha una politica di esecuzione che funge da misura di sicurezza per regolare le condizioni per il caricamento dei file di configurazione e l’esecuzione degli script. Questo aiuta a prevenire l’esecuzione di script dannosi. I criteri di esecuzione determinano se è possibile caricare file di configurazione come il profilo PowerShell. E se gli script necessitano di firma digitale prima dell’esecuzione. Puoi impostare un criterio di esecuzione per il sistema del computer locale, l’utente corrente o una particolare sessione su un PC Windows.

Sommario

Quindi, cosa succede quando provi a eseguire un script su PowerShell?

Quando tenti di eseguire uno script su PowerShell, il criterio di esecuzione che rimane attualmente impostato determinerà se lo script può essere eseguito. Se lo script soddisfa i requisiti della politica di esecuzione corrente, verrà eseguito. Se non soddisfa le esigenze dell’attuale politica di esecuzione, verrà visualizzato un messaggio di errore che indica che gli script in esecuzione sono disabilitati su questo sistema.

Ad esempio, se la tua attuale politica di esecuzione consente solo l’esecuzione di script firmati e tu prova a eseguire uno script non firmato, riceverai un messaggio di errore che indica che gli script in esecuzione rimangono”disabilitati”su questo sistema.

Quindi, se stai cercando di eseguire script su Windows 11, devi impostare una politica di esecuzione diversa. Esistono diversi criteri di esecuzione che è possibile impostare per eseguire gli script. Impariamo di più sui criteri di esecuzione in modo da farti un’idea di quale utilizzare.

Leggi anche: Passaggi per il backup e il ripristino delle impostazioni rapide in Windows 11

Cosa sono le esecuzioni Criteri e quanti ne esistono?

I criteri di esecuzione in PowerShell determinano se è possibile caricare file di configurazione o eseguire script e se gli script devono essere firmati digitalmente prima di essere eseguiti. L’ambito predefinito per il cmdlet Set-ExecutionPolicy è LocalMachine, che riguarda tutti coloro che utilizzano il computer.

È fondamentale notare che i criteri di esecuzione non sono una misura di sicurezza. Possono essere facilmente aggirati e sono intesi più come regole primarie per impedire all’utente di violare involontariamente le politiche. In altre parole, le policy di esecuzione servono per aiutarti a evitare di eseguire script o configurazioni che potrebbero potenzialmente danneggiare il tuo sistema senza rendertene conto.

Supponiamo che tu abbia uno script chiamato”myscript.ps1″che desideri eseguire sul tuo computer. Se la tua policy di esecuzione è impostata su Restricted (impostazione predefinita), non sarai in grado di eseguire lo script.

Se la tua policy di esecuzione è specificata su AllSigned, sarai solo in grado di eseguire lo script se firmato da un editore attendibile.

Leggi anche: come visualizzare i secondi per l’orologio di Windows 11

Esistono sei criteri di esecuzione di PowerShell, discutiamone ciascuno in modo da ottenere un migliore comprensione di ciascun tipo.

1. Criterio con restrizioni

Tutti i PC Windows 11 generalmente assegnano il criterio con restrizioni, che è il più rigido. L’esecuzione di script PowerShell, file di configurazione o file di script del modulo non è consentita, pertanto è possibile eseguire solo singoli comandi.

2. Criterio senza restrizioni

Gli script non firmati possono essere eseguiti per impostazione predefinita su computer non Windows e questo criterio non può essere modificato. Di conseguenza, è possibile che vengano eseguiti script pericolosi. Prima di eseguire script e file di configurazione che non appartengono alla zona di rete locale, l’utente viene avvisato.

Leggi anche: Come visualizzare l’elenco dei punti di ripristino disponibili in Windows 11

3. Policy AllSigned

Solo gli script PowerShell firmati possono essere eseguiti in base alla policy di esecuzione All Signed. Ciò include tutti gli script univoci che crei. Avrai la possibilità di scegliere se fidarti o diffidare dell’editore dello script se non classificato.

4. Policy firmata in remoto

Gli script possono essere eseguiti su sistemi server Windows grazie alla policy di esecuzione predefinita. Gli script e i file di configurazione ottenuti tramite il Web devono avere la firma digitale di un editore affidabile. Le firme digitali non sono necessarie per gli script creati localmente che non vengono scaricati da Internet. Se sbloccati con il”cmdlet Unblock-File”, gli script che ottengono da Internet ma rimangono non firmati possono comunque essere eseguiti. L’esecuzione di script dannosi firmati e non firmati da fonti diverse da Internet è un rischio associato a questo criterio.

Leggi anche: ora puoi eseguire Windows 11 su un Apple Silicon Mac

5. Criterio non definito

Se l’ambito corrente non specifica un criterio di esecuzione. E la policy di esecuzione in tutti gli ambiti è Undefined. Quindi il criterio di esecuzione effettivo sarà Limita per i client Windows e RemoteSigned per Windows Server. Ciò significa che se non è stato impostato alcun criterio di esecuzione specifico, i client Windows utilizzeranno per impostazione predefinita il criterio più restrittivo mentre Windows Server utilizzerà per impostazione predefinita un criterio meno restrittivo che richiede comunque che gli script scaricati da Internet siano firmati da un editore attendibile.

6. Bypass Policy

Consente l’esecuzione di tutti gli script senza alcuna avvertenza o richiesta. Questo tipo di criterio intende trarre vantaggio in scenari specifici in cui uno script fa parte di un’applicazione più ampia. O dove PowerShell stesso utilizza come base per un programma insieme alle misure di sicurezza in atto.

Inoltre, per controllare quali script possono essere eseguiti sul tuo sistema, le policy di esecuzione possono essere stabilite in vari ambiti. MachinePolicy, UserPolicy, Process, CurrentUser e LocalMachine sono gli ambiti disponibili.

MachinePolicy: questo ambito è definito da Criteri di gruppo per tutti gli utenti del computer.UserPolicy: >Questo ambito descrive un criterio di gruppo per l’utente corrente del PC.Processo: questo ambito riguarda solo il processo corrente di PowerShell.CurrentUser: questo ambito riguarda solo l’utente corrente di il computer.LocalMachine: questo ambito riguarda tutti gli utenti del computer. (impostato per impostazione predefinita quando si assegna il criterio di esecuzione)

È possibile specificare l’ambito durante l’impostazione di un criterio di esecuzione utilizzando il parametro-Scope con il cmdlet Set-ExecutionPolicy. Ad esempio, per impostare un criterio di esecuzione solo per l’utente corrente, dovresti utilizzare:

Set-ExecutionPolicy-Scope CurrentUser-ExecutionPolicy RemoteSigned

Ora tu sapere tutto sulle politiche di esecuzione e gli ambiti particolari. Passiamo a come modificare i criteri di esecuzione degli script di PowerShell in Windows 11

Leggi anche-Come scaricare i caratteri per tutte le lingue in Windows 11

modificare i criteri di esecuzione degli script di PowerShell in Windows 11

Segui i passaggi indicati di seguito per modificare i criteri di esecuzione:

Nota: se hai Windows Vista o altre nuove versioni, avvia PowerShell con il Opzione Esegui come amministratore per i privilegi di amministratore per l’esecuzione dei comandi.

Windows PowerShell: esegui come amministratore

Passaggio 1: verifica la politica di esecuzione attuale

Per farlo, annota il seguente comando e premi inserisci
Get-ExecutionPolicy

Imposta criterio di esecuzione

Passaggio 2: Modifica criterio di esecuzione

per modificare la policy, annota il seguente comando e premi invio.

Set-Executi onPolicy RemoteSigned

RemoteSigned Policy

Come puoi vedere nell’illustrazione sopra, otterrai l’Execution Avviso di modifica delle norme dopo aver premuto invio.

Ora che hai seguito correttamente la procedura. Ripeti lo script ancora una volta e inizierà a funzionare su Windows 11.

Per un ambito specifico:

Nel caso in cui desideri impostarlo per un ambito particolare, puoi utilizzare il seguente comando e premere invio:

Set-ExecutionPolicy-ExecutionPolicy -Scope

Per rimuovere il criterio di esecuzione

Per rimuovere un criterio di esecuzione impostato per un ambito specifico. Puoi utilizzare il cmdlet Set-ExecutionPolicy con il parametro -Scope e specificare Undefined come criterio di esecuzione. Ciò rimuove qualsiasi criterio di esecuzione impostato per l’ambito specificato.

Ad esempio, per eliminare il criterio di esecuzione per tutti gli utenti del computer locale, puoi digitare il comando in questo modo:

Set-ExecutionPolicy-ExecutionPolicy Undefined-Scope LocalMachine

Tieni presente che quando modifichi i criteri di esecuzione per gli ambiti LocalMachine o CurrentUser. La modifica rimane memorizzata nel registro e rimane effettiva fino a quando non la cambi di nuovo. Tuttavia, se imposti i criteri di esecuzione per l’ambito del processo. Pertanto, rimane non salvato nel registro e dura solo fino alla chiusura del processo corrente e di eventuali processi figlio.

Leggi anche: come abilitare o disabilitare la modifica dello sfondo del desktop in Windows 11

By Kaitlynn Clay

Lavoro come esperto di UX. Mi interesso di web design e analisi del comportamento degli utenti. Nei giorni liberi visito sempre il museo d'arte.