/
/

Come aggiungere “Esegui file PS1” al menu contestuale in Windows 10

di Team Ninja
How to Add “Run PS1 File” to the Context Menu in Windows 10 blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

Molti esperti IT usano i file PS1 di Windows per automatizzare le attività, configurare i sistemi o gestire i flussi di lavoro in Windows 10. Eseguirli, però, richiede un processo macchinoso: bisogna aprire PowerShell manualmente. Un buon metodo per semplificare tutto è aggiungere l’opzione “Esegui file PS1” al menu contestuale, così da poter avviare gli script direttamente da Esplora file e risparmiare tempo.

Questa modifica ti permette di eseguire facilmente la manutenzione del sistema, automazioni di massa o la risoluzione di problemi urgenti. Per esempio, gli specialisti di cybersecurity possono distribuire rapidamente le patch di sicurezza, mentre gli amministratori di sistema possono automatizzare il ripristino delle unità crittografate. In questa guida passo passo ti mostriamo un modo più rapido e intuitivo per usare questo strumento.

Come aggiungere “Esegui file PS1” al menu contestuale

Aggiungere l’opzione “Esegui file PS1” al menu contestuale di Windows ti consente di accedere agli script PowerShell in pochi secondi. Ecco due modi per farlo:

Metodo 1: usare l’Editor del Registro di sistema (metodo manuale)

  1. Apri la finestra di dialogo Esegui (Win + R), poi digita regedit per aprire l’Editor del Registro di sistema.
  2. Vai a: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
  3. Fai clic con il pulsante destro sulla cartella Shell, seleziona Nuovo e poi Chiave.
  4. Assegna alla nuova chiave il nome Run with PowerShell.
  5. Crea al suo interno una sottochiave command.
  6. Imposta il valore della sottochiave su:

“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File “%1”

    1. In questo modo le policy di esecuzione vengono ignorate e gli script girano senza intoppi.
  1. Chiudi il Registro di sistema per applicare le modifiche.
    1. L’opzione Run with PowerShell comparirà facendo clic con il pulsante destro sui file .ps1.

Metodo 2: usare un file di registro già pronto (metodo più semplice)

  1. Apri il Blocco note, poi incolla questo codice:
    1. Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell]

"Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell\command]

@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoProfile -ExecutionPolicy Bypass -Command \"& '%1'\""

  1. Salva il file come Add_Run_PS1_Context_Menu.reg.
  2. Fai doppio clic sul file .reg salvato e conferma le modifiche.
    1. L’opzione Run with PowerShell comparirà facendo clic con il pulsante destro sui file .ps1.

Come modificare o rimuovere la voce “Esegui file PS1” dal menu contestuale

Se devi rimuovere o modificare questa caratteristica, intervenire sul menu contestuale è piuttosto semplice. Ecco come fare:

Modificare il comando “Run with PowerShell”

  1. Apri l’Editor del Registro di sistema (Win + R, poi digita regedit), quindi vai alla chiave creata in precedenza (vedi il Metodo 1 qui sopra).
  2. Fai doppio clic sul valore (Predefinito) per modificarlo:
    1. Per eseguire gli script con una policy di esecuzione specifica, sostituisci -ExecutionPolicy Bypass con -ExecutionPolicy RemoteSigned.
    2. Per eseguire gli script come amministratore, aggiungi -Verb RunAs al comando.
  3. Chiudi il Registro di sistema per applicare subito le modifiche.

Rimuovere la voce dal menu contestuale

  1. Apri l’Editor del Registro di sistema, poi vai a: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell
  2. Fai clic con il pulsante destro su Run with PowerShell, poi seleziona Elimina.
  3. Riavvia Esplora file tramite Gestione attività per applicare le modifiche.

Metodi alternativi per eseguire gli script PowerShell

Aggiungere una voce al menu contestuale rende l’esecuzione degli script più comoda, ma altri metodi offrono maggiore flessibilità quando lavori su flussi di lavoro diversi. Ecco alcune alternative per eseguire PowerShell:

Usare PowerShell con privilegi di amministratore

Questo metodo è ideale per gli script che richiedono privilegi elevati e prevede di aprire PowerShell con privilegi di amministratore.

  1. Fai clic con il pulsante destro sul menu Start, poi seleziona Windows PowerShell (amministratore).
  2. Nella directory dello script, vai a: cd "C:\Path\To\Script"
  3. Esegui questo script: .\YourScript.ps1
    1. Se lo script viene bloccato dalle policy di esecuzione, usa invece: Set-ExecutionPolicy RemoteSigned -Scope Process -Force

Usare l’Utilità di pianificazione per eseguire gli script automaticamente

Questo strumento ti aiuta a pianificare negli script attività come backup, pulizia dei log o manutenzione notturna.

  1. Apri l’Utilità di pianificazione (cerca taskschd.msc), poi fai clic su Crea attività.
  2. Nella scheda Generale:
    1. Assegna un nome all’attività.
    2. Spunta Esegui con i privilegi più elevati.
  3. Nella scheda Attivazione, imposta una pianificazione per l’attività.
  4. Nella scheda Azioni:
    1. Imposta Azione su Avvio programma.
    2. In Programma o script, inserisci: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    3. In Argomenti, aggiungi: -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\Backup.ps1"

Creare un collegamento sul desktop per lo script PS1

Questo metodo è indicato per gli script usati di frequente, perché offre un accesso rapido con un solo clic.

  1. Fai clic con il pulsante destro sul desktop, seleziona Nuovo e poi Collegamento.
  2. Come percorso di destinazione, inserisci:

powershell.exe -ExecutionPolicy Bypass -Command "& 'C:\Scripts\YourScript.ps1'"

  1. Assegna un nome al collegamento.
  2. Per farlo eseguire come amministratore:
    1. Fai clic con il pulsante destro sul collegamento, poi seleziona Proprietà.
    2. Vai su Avanzate, poi spunta Esegui come amministratore.

Risoluzione dei problemi più comuni

Anche configurando gli script PowerShell con attenzione, qualche intoppo può sempre capitare. Di seguito trovi le soluzioni ai problemi più frequenti.

Problema: lo script PowerShell non parte dopo averlo aggiunto al menu contestuale

  1. Avvia PowerShell (Win + R, poi digita powershell).
  2. Esegui lo script: Get-ExecutionPolicy
    1. Se lo script risulta Restricted, aggira temporaneamente la restrizione per i test con: powershell.exe -ExecutionPolicy Bypass -File “your_script.ps1”
  3. Verifica che il valore command della chiave di registro (in HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell) includa il percorso completo di powershell.exe e l’argomento -File “%1”.
  4. Crea uno script di base, come Write-Output “Hello World”, per escludere errori di sintassi nel file originale.

Problema: “L’esecuzione di script è disabilitata nel sistema in uso”

  1. Apri PowerShell come amministratore (vedi i metodi alternativi qui sopra).
  2. Esegui lo script: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    1. In questo modo la policy di esecuzione viene modificata per consentire gli script.

Problema: l’opzione non compare nel menu contestuale

  1. Aggiorna Esplora file:
    1. Apri Gestione attività (Ctrl + Maiusc + Esc).
    2. Fai clic con il pulsante destro su Esplora file, poi seleziona Riavvia.
  2. Controlla le modifiche al registro:
    1. Verifica di nuovo il percorso della chiave: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell.
    2. Se il percorso non c’è, riapplica il file .reg (vedi il Metodo 2).
  3. Controlla eventuali interferenze di antivirus o firewall:
    1. Apri il software di sicurezza.
    2. Disattiva temporaneamente il blocco delle modifiche al registro, poi aggiungi di nuovo la voce di menu.

Best practice per la gestione degli script PowerShell

Una gestione scorretta degli script PowerShell può esporre i sistemi a dei rischi. Segui queste best practice per ottimizzare efficienza e sicurezza di questo potente strumento:

Controlla sempre gli script prima di eseguirli

Gli script scritti male possono compromettere sistemi o dati. Puoi evitarlo così:

  • Usa la firma del codice: firma gli script con un certificato attendibile per verificarne l’autenticità, come Set-AuthenticodeSignature -FilePath "script.ps1" -Certificate $cert.
  • Sfrutta gli strumenti giusti: gli strumenti di gestione degli endpoint, come NinjaOne, facilitano la distribuzione degli script e ti avvisano quando si verificano determinate condizioni.

Usa le policy di esecuzione in modo strategico

Le policy di esecuzione possono impedire l’avvio accidentale degli script, ma ricorda che non sono una barriera di sicurezza completa.

  • Usa i comandi RemoteSigned o AllSigned per bloccare gli script remoti non firmati.
  • Limita l’ambito delle policy con -Scope CurrentUser, così le modifiche valgono solo per l’account.
  • Ripristina le restrizioni dopo l’uso: Set-ExecutionPolicy Restricted -Scope Process

Organizza gli script in una cartella dedicata

Centralizza l’archiviazione degli script per ridurre il disordine e semplificare il sistema. Crea una cartella denominata C: \Scripts, poi aggiungila al $env: Path di PowerShell. Puoi anche aggiungere la cartella alla barra di Accesso rapido in Esplora file per raggiungerla con un solo clic.

Esegui il backup del registro prima delle modifiche

Anche le modifiche accidentali al registro possono destabilizzare il sistema. Creare file di backup del registro o di una parte del suo contenuto ti aiuta a ripristinare il sistema dopo un danneggiamento.

  • Nell’Editor del Registro di sistema, fai clic con il pulsante destro su Run with PowerShell, poi seleziona Esporta.

Domande frequenti su come aggiungere “Esegui file PS1” al menu contestuale

Posso impostare PowerShell perché venga sempre eseguito come amministratore dal menu contestuale?

Sì, basta modificare il comando nel registro per includere il flag -Verb RunAs:

  1. Modifica la chiave di registro command (vedi la sezione 2).
  2. Aggiorna il comando con:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command “& ‘%1′”

È possibile aggiungere altre opzioni di PowerShell al menu del tasto destro?

  • Certo, puoi aggiungere altre voci come Run as Admin o Edit Script. Ecco come fare:
    • Duplica la chiave di registro Run with PowerShell in HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
    • Rinominala e aggiorna il valore del comando con: "C:\Path\To\Code.exe" “%1”

Come rimuovo l’opzione “Esegui file PS1” se non mi serve più?

Posso usare questo metodo anche in Windows 11?

  • Sì. La struttura del registro e il sistema PowerShell sono identici in Windows 10 e 11.

Cosa succede se il mio script richiede l’input dell’utente quando viene eseguito dal menu contestuale?

  • La finestra di PowerShell potrebbe chiudersi subito dopo l’esecuzione, interrompendo le richieste di input. Puoi risolvere così:
    • Aggiungi -NoExit al comando nel registro: … -File “%1” -NoExit
    • Per gli script che richiedono un’interazione prolungata, eseguili manualmente in PowerShell oppure usa Start-Sleep per mettere in pausa l’esecuzione.

Semplifica l’esecuzione dei file PS1 in Windows

Aggiungere la voce “Esegui file PS1” al menu contestuale di Windows 10 semplifica l’esecuzione degli script per la gestione del sistema, l’automazione o il ripristino delle unità crittografate. Integrando PowerShell direttamente in Esplora file, puoi eseguire gli script senza passaggi inutili.

Questa caratteristica fa crescere la produttività, ma affiancala sempre a policy di esecuzione sicure e al controllo degli script per evitare rischi imprevisti. Trovare il giusto equilibrio tra efficienza e prudenza mantiene PowerShell uno strumento potente e sicuro per il tuo sistema.

Guida rapida

Puoi creare uno script personalizzato nella NinjaOne Automation Library che:

  1. Aggiunga una chiave di registro per creare la voce nel menu contestuale
  2. Specifichi il comando per eseguire PowerShell con i parametri appropriati

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.