Script PowerShell: creare e automatizzare attività
Con Windows PowerShell puoi digitare i comandi direttamente in un’interfaccia di testo per svolgere diverse attività di sistema.
Cos’è uno script PowerShell?
Windows PowerShell è più di un semplice linguaggio di scripting e interfaccia a riga di comando: questo strumento è stato appositamente sviluppato per gestire e automatizzare i sistemi operativi di Windows e i relativi prodotti Microsoft. Windows PowerShell è stato introdotto sul mercato nel 2006 e fin da subito si è rivelato uno strumento importante per l’amministrazione dei sistemi Windows.
Gli script PowerShell sono composti da una sequenza di cmdlet PowerShell, funzioni, variabili, condizioni e altre istruzioni, e servono a automatizzare processi e compiti ripetitivi. Gli script PowerShell sono salvati in file di testo con l’estensione .ps1. Per creare uno script puoi utilizzare qualsiasi editor di testo o la console PowerShell Integrated Scripting Environment (ISE). Per eseguire lo script, è sufficiente aprire la console PowerShell e specificare il percorso dello script.
Indipendentemente da come esegui lo script, dovrai assicurarti che nell’ambiente PowerShell i criteri di esecuzione siano configurati correttamente. Per ridurre al minimo i rischi di sicurezza informatica, l’esecuzione degli script PowerShell è disabilitata per impostazione predefinita su numerosi sistemi. Per modificare i criteri di esecuzione puoi usare il cmdlet Set-ExecutionPolicy.
- Hardware dedicato al 100%
- Fatturazione al minuto
- Potenziato dai processori Intel® Xeon® e AMD
Creare uno script PowerShell con Visual Studio Code
Visual Studio Code (VS Code) è un noto editor di codice gratuito. È stato sviluppato da Microsoft ed è studiato appositamente per la creazione di script e applicazioni. Comprende un sistema di evidenziazione della sintassi per il codice PowerShell e supporta IntelliSense per semplificare la scrittura del codice.
Primo passaggio: installa VS Code
Se non hai ancora installato VS Code sul tuo sistema puoi scaricarlo dal sito web ufficiale. Seleziona il sistema operativo Windows e avvia il programma di installazione con un doppio clic.
Secondo passaggio: aggiungi l’estensione PowerShell
Per poter usare PowerShell in VS Code, è necessario prima installare l’estensione PowerShell ufficiale. A tal proposito, vai alla sezione “Estensioni” in VS Code (simbolo sulla barra laterale sinistra) e cerca “PowerShell”. In alternativa, usa la combinazione di tasti [Ctrl] + [Maiusc] + [X]. Installa l’estensione premendo il pulsante ““Trust Workspace & Install” (Contrassegna lo spazio di lavoro come sicuro e installa).
Terzo passaggio: crea lo script PowerShell
Puoi aprire uno script PowerShell già esistente o crearne uno nuovo, selezionando “File” > “Nuovo file di testo” e salvando il file assegnandogli un nome e l’estensione “.ps1”.
Qui sotto trovi un esempio di codice PowerShell da scrivere dentro al file:
$message = "Script to be executed"
Write-Host $message
powershellQuarto passaggio: esegui lo script PowerShell
VS Code contiene un terminale integrato da usare per eseguire i comandi PowerShell direttamente nell’ambiente. Aprilo cliccando su “Terminale” > “Nuovo terminale” e seleziona “PowerShell” come tipo di terminale.
Creare uno script PowerShell con Notepad
Di seguito ti mostriamo come creare uno script PowerShell con l’editor di testo Notepad.
Primo passaggio: apri Notepad
Clicca su “Avvio” o sull’icona di Windows in basso a sinistra sul desktop. Inserisci “Notepad” nella barra di ricerca e premi il tasto Invio. Si apre l’editor di testo Notepad.
Secondo passaggio: scrivi il codice PowerShell
Puoi inserire il codice PowerShell direttamente nell’editor di testo.
Fai clic su “File” > “Salva” o usa la combinazione di tasti [Ctrl] + [S]. Assegna un nome al file e specifica l’estensione “.ps1” per salvare lo script sotto forma di file PowerShell. Seleziona il percorso di salvataggio sul tuo computer e fai clic su “Salva”.
Creare uno script PowerShell con Integrated Scripting Environment (ISE)
PowerShell Integrated Scripting Environment (ISE) è un ambiente di sviluppo integrato (IDE) di Microsoft. È preinstallato nei sistemi operativi Windows ed è un ambiente user-friendly per lo sviluppo di script PowerShell. Occorre notare, tuttavia, che a partire da PowerShell 5.0, ISE è stato sostituito da Visual Studio Code (VS Code), il quale offre più funzionalità e una maggiore flessibilità.
Primo passaggio: apri PowerShell ISE
Fai clic su “Avvio” in basso a sinistra sul desktop del PC. Nella barra di ricerca digita “PowerShell ISE” e seleziona “Esegui come amministratore”.
Secondo passaggio: crea un nuovo script
Puoi creare un nuovo script in PowerShell ISE facendo clic su “File” > “Nuovo” oppure usando la combinazione di tasti [Ctrl] + [N]. Scrivi il codice PowerShell nella schermata principale di ISE. Per facilitarti il lavoro hai a disposizione varie funzionalità quali evidenziazione della sintassi, completamento del codice e un’interfaccia utente. In questo modo la scrittura del codice risulta più agevole.
Di seguito ti proponiamo un esempio per un semplice script:
# This is a comment
$message = "Hello World!"
Write-Host $message
powershellTerzo passaggio: salva lo script
Fai clic su “File” > “Salva” o premi la combinazione di tasti [Ctrl] + [S]**. Assicurati di aggiungere l’estensione “.ps1”, per poter salvare lo script sotto forma di file PowerShell.
Eseguire lo script PowerShell
Normalmente, l’esecuzione dello script PowerShell avviene mediante la console PowerShell o un altro terminale.
Primo passaggio: avvia PowerShell
Come nell’esempio di ISE, esegui PowerShell come amministratore.
Secondo passaggio: modifica di ExecutionPolicy
PowerShell comprende quattro diversi criteri di esecuzione (Execution Policies) che controllano l’esecuzione degli script, contribuendo a prevenire l’esecuzione di script dannosi. I quattro principali criteri di esecuzione sono:
- Restricted (limitato): criterio di esecuzione predefinito per PowerShell. Questo criterio non consente gli script (che sono disattivati) e autorizza solo l’esecuzione di singoli comandi interattivi. È l’impostazione di sicurezza più elevata, poiché blocca per impostazione predefinita l’esecuzione di tutti gli script.
- AllSigned (tutti firmati): in questo criterio gli script devono essere dotati di firma digitale per poter essere avviati. Questo significa che l’autore dello script deve servirsi di un certificato digitale per autenticare lo script.
- RemoteSigned (firmati da remoto): nel caso del criterio RemoteSigned, è richiesta una firma digitale solo per script scaricati da internet o da un’unità di rete. Gli script locali salvati sul tuo computer non hanno bisogno di una firma digitale per essere eseguiti. Questo semplifica l’uso di script locali.
- Unrestricted (senza limitazioni): questo criterio permette l’esecuzione di tutti gli script senza firme né restrizioni. Tuttavia, si sconsiglia di utilizzarlo in un ambiente professionale perché comporta alcuni rischi per la sicurezza. Il suo uso è più indicato per svolgere test o in ambienti protetti.
Per visualizzare il criterio di esecuzione attuale in PowerShell è possibile utilizzare il comando Get-ExecutionPolicy. Per modificare il criterio di esecuzione, usa il comando “Set-ExecutionPolicy” seguito dal criterio desiderato.
Per consentire l’esecuzione di script in PowerShell puoi digitare il seguente comando:
Set-ExecutionPolicy RemoteSigned
powershellTerzo passaggio: conferma l’esecuzione (se necessario)
A seconda delle impostazioni di sicurezza, in PowerShell potrebbe comparire un avviso di sicurezza per confermare che vuoi veramente eseguire lo script. Per consentire lo script digita “S” per “sì”, per bloccarlo digita invece “N” per “no”.
Quarto passaggio: avvia lo script PowerShell
Per eseguire lo script PowerShell digita il percorso del file:
& "C:\PATH\TO\SCRIPT\script.ps1"
powershell