Se sei nuovo nel linguaggio di scripting PowerShell e vuoi imparare come eseguire uno script PowerShell, sei nel posto giusto. Questo blog sarà un tutorial che coprirà modi comuni per eseguire gli script e alcuni problemi che potrebbero presentarsi.
Prerequisiti
Questo articolo sarà una guida passo passo su come eseguire PowerShell sul tuo computer locale. Se vuoi seguirci, assicurati di avere i seguenti prerequisiti prima di iniziare questo articolo.
- A Windows 10 computer with Administrator privileges.
- Windows versione di PowerShell 5 o superiore. Puoi anche utilizzare PowerShell v7. Questo tutorial si concentrerà su Windows PowerShell poiché il sistema operativo Windows lo ha già integrato.
- Un qualsiasi editor di file di testo
Gestione della policy di esecuzione
Se questa è la prima volta che provi ad eseguire uno script di Windows PowerShell, potresti incontrare un problema comune. PowerShell probabilmente restituirà un messaggio di errore che indica che uno script “non può essere caricato perché l’esecuzione degli script è disabilitata su questo sistema”.
PowerShell restituisce il messaggio di errore sopra quando si cerca di eseguire un PowerShell con una policy di esecuzione impostata su Restricted, Remote Signed o All Signed.
Restricted
Restricted è la policy predefinita impostata per i computer client Windows. Se stai usando PowerShell per la prima volta, probabilmente la tua policy predefinita sarà impostata per limitare tutti gli script.
Puoi comunque eseguire comandi individuali in un terminale, ma non un file di script. La restrizione include qualsiasi file con estensione .ps1xml
, .psm1
o .ps1
.
Unrestricted
Unrestricted ti consente di eseguire qualsiasi script, tuttavia avverte prima dell’esecuzione se lo script è stato scaricato da Internet. Questa policy è di solito predefinita per dispositivi non Windows.
Remote Signed
La policy Remote Signed ti consente di eseguire qualsiasi script che è (a) digitalmente firmato o (b) qualsiasi script scritto sul tuo computer locale con o senza firma.
Se uno script è scaricato da Internet e non è firmato, è necessario sbloccare il file. Puoi farlo facendo clic con il pulsante destro del mouse sul file e scegliendo Proprietà. In alternativa, puoi utilizzare il cmdlet PowerShell Unblock-File
per quel particolare file di script.
Utilizzare una policy Remote Signed sarebbe un’opzione ideale quando si esegue uno script scaricato da Internet.
All Signed
All Signed richiede che tutti gli script siano firmati digitalmente da un editore attendibile. Questo include gli script scaricati da Internet e scritti localmente sul tuo computer.
Cambiare la policy di esecuzione di PowerShell
Per cambiare la policy di esecuzione:
- Apri Windows PowerShell con Esegui come amministratore per assicurarti di avere le autorizzazioni più elevate per apportare modifiche alla policy.

2. Quando è aperto, esegui il seguente comando PowerShell per impostare la policy di esecuzione del tuo computer. La policy di esecuzione, come illustrato in precedenza, può essere uno dei tre tipi differenti. Questo tutorial utilizza una policy di esecuzione utile ma comunque sicura di RemoteSigned.
Visto che questo tutorial presume che tu abbia scaricato da Internet il file di script GetServices.ps1, imposta la policy di esecuzione su RemoteSigned.
La policy di esecuzione RemoteSigned ti obbliga a firmare criptograficamente ogni script PowerShell scaricato da Internet prima che PowerShell lo esegua sul tuo sistema.
3. Dovresti vedere un output che richiede di confermare l’azione. Inserisci Y e premi invio per confermare la modifica della policy.
In questo momento, segui i passaggi successivi per esplorare diversi metodi per eseguire lo script PowerShell sul tuo computer.
Come Eseguire uno Script PowerShell
Per dimostrare l’esecuzione di uno script PowerShell, hai effettivamente bisogno di un file di script da eseguire! Se non ne hai uno a portata di mano, scarica questo file ZIP ed estrai il file PS1 al suo interno. Troverai all’interno un semplice file di script chiamato GetServices.ps1.
Ogni script PowerShell dovrebbe terminare con l’estensione
.ps1
.
Utilizzo della Console
Una volta che hai uno script pronto, ci sono diversi modi per eseguire un file di script PowerShell. Uno dei modi più comuni è tramite la console PowerShell.
Per farlo:
- Apri la console PowerShell come mostrato sopra.
2. Naviga nella posizione del sistema di file in cui si trova lo script utilizzando il cmdlet PowerShell Set-Location
o l’alias cd
. Lo script di questo tutorial si trova nella directory C:\Temp.
3. Esegui lo script utilizzando la notazione a punto (.
). PowerShell è una shell che cerca anche nomi di comando. Per differenziare tra un comando PowerShell e uno script, è necessario precedere lo script con un punto. Questo punto rappresenta la directory corrente.
Come Eseguire uno Script PowerShell dalla Riga di Comando tramite la Posizione di PowerShell
Se non puoi o preferisci non eseguire script tramite la console PowerShell, puoi farlo anche con il buon vecchio prompt dei comandi.
Per eseguire script tramite il prompt dei comandi, devi prima avviare l’eseguibile PowerShell (powershell.exe), con la posizione di PowerShell di C:\Program Files\WindowsPowerShell\powershell.exe
e quindi passare il percorso dello script come parametro ad esso.
Puoi eseguire script con parametri in qualsiasi contesto specificandoli semplicemente durante l’esecuzione dell’eseguibile PowerShell come
powershell.exe -Parameter 'Foo' -Parameter2 'Bar'
.
Una volta aperto cmd.exe, puoi eseguire uno script PowerShell come mostrato di seguito. Questo esempio sta eseguendo il motore e passandogli il percorso dello script di C:\Temp\GetServices.ps1.
Osserva che nell’esempio sottostante viene utilizzato il percorso della posizione di PowerShell per eseguire lo script. Dovrai farlo se la cartella non è presente nel tuo PATH da qualche parte.
La posizione di PowerShell per PowerShell 7 utilizza un eseguibile diverso chiamato pwsh.exe di solito situato in C:\Program Files\PowerShell\7\pwsh.exe.
Di seguito è disponibile un pratico video di YouTube che illustra l’esecuzione di uno script tramite un file batch eseguito da cmd.exe.
Utilizzo di PowerShell ISE
Se crei i tuoi script o modifichi quelli di altri, probabilmente utilizzerai un editor di script come il PowerShell ISE o forse Visual Studio (VS) Code. Poiché ISE viene fornito con Windows, concentriamoci su questo metodo per questo tutorial.
Per invocare uno script tramite l’ISE:
- Vai al menu Start, cerca PowerShell ISE e aprilo.

2. Fai clic su File → Apri e trova il tuo script.

3. Con lo script aperto, fai clic sul pulsante verde di esecuzione per eseguire lo script. Questo pulsante invocherà lo script nel terminale PowerShell incorporato nella parte inferiore.

L’output dello script di esempio
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
Se esegui lo script di esempio GetServices.ps1, vedrai quanto segue. Questo script esegue il cmdlet Get-Service
che restituisce tutti i servizi installati sul tuo computer Windows locale.
Eseguire uno script PowerShell da un altro script
Supponiamo tu abbia due script e desideri che uno chiami l’altro. Forse hai uno script chiamato GetUser.ps1 e uno chiamato ResetPassword.ps1. All’interno dello script GetUser.ps1, desideri eseguire lo script ResetPassword.ps1 per reimpostare una password utente.
All’interno dello script di chiamata (GetUser.ps1), aggiungeresti una riga per eseguire l’altro script esattamente come faresti per chiamare lo script dalla riga di comando.
Puoi vedere di seguito che hai un paio di opzioni. Dovresti tipicamente scegliere di eseguire l’altro script nella stessa sessione o ambito per semplificare le cose, a meno che tu non abbia una ragione specifica per eseguire lo script in un’altra sessione PowerShell.