Con Windows Po­wer­Shell puoi digitare i comandi di­ret­ta­men­te in un’in­ter­fac­cia di testo per svolgere diverse attività di sistema.

Cos’è uno script Po­wer­Shell?

Windows Po­wer­Shell è più di un semplice lin­guag­gio di scripting e in­ter­fac­cia a riga di comando: questo strumento è stato ap­po­si­ta­men­te svi­lup­pa­to per gestire e au­to­ma­tiz­za­re i sistemi operativi di Windows e i relativi prodotti Microsoft. Windows Po­wer­Shell è stato in­tro­dot­to sul mercato nel 2006 e fin da subito si è rivelato uno strumento im­por­tan­te per l’am­mi­ni­stra­zio­ne dei sistemi Windows.

Gli script Po­wer­Shell sono composti da una sequenza di cmdlet Po­wer­Shell, funzioni, variabili, con­di­zio­ni e altre istru­zio­ni, e servono a au­to­ma­tiz­za­re processi e compiti ri­pe­ti­ti­vi. Gli script Po­wer­Shell sono salvati in file di testo con l’esten­sio­ne .ps1. Per creare uno script puoi uti­liz­za­re qualsiasi editor di testo o la console Po­wer­Shell In­te­gra­ted Scripting En­vi­ron­ment (ISE). Per eseguire lo script, è suf­fi­cien­te aprire la console Po­wer­Shell e spe­ci­fi­ca­re il percorso dello script.

In­di­pen­den­te­men­te da come esegui lo script, dovrai as­si­cu­rar­ti che nell’ambiente Po­wer­Shell i criteri di ese­cu­zio­ne siano con­fi­gu­ra­ti cor­ret­ta­men­te. Per ridurre al minimo i rischi di sicurezza in­for­ma­ti­ca, l’ese­cu­zio­ne degli script Po­wer­Shell è di­sa­bi­li­ta­ta per im­po­sta­zio­ne pre­de­fi­ni­ta su numerosi sistemi. Per mo­di­fi­ca­re i criteri di ese­cu­zio­ne puoi usare il cmdlet Set-Exe­cu­tion­Po­li­cy.

Server dedicati
Per­for­man­ce e in­no­va­zio­ne
  • Pro­ces­so­ri al­l'a­van­guar­dia di ultima ge­ne­ra­zio­ne
  • Hardware dedicato ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO

Creare uno script Po­wer­Shell con Visual Studio Code

Visual Studio Code (VS Code) è un noto editor di codice gratuito. È stato svi­lup­pa­to da Microsoft ed è studiato ap­po­si­ta­men­te per la creazione di script e ap­pli­ca­zio­ni. Comprende un sistema di evi­den­zia­zio­ne della sintassi per il codice Po­wer­Shell e supporta In­tel­li­Sen­se per sem­pli­fi­ca­re la scrittura del codice.

Primo passaggio: installa VS Code

Se non hai ancora in­stal­la­to VS Code sul tuo sistema puoi sca­ri­car­lo dal sito web ufficiale. Seleziona il sistema operativo Windows e avvia il programma di in­stal­la­zio­ne con un doppio clic.

Immagine: Download di VS Code
Scaricare VS Code per Windows.

Secondo passaggio: aggiungi l’esten­sio­ne Po­wer­Shell

Per poter usare Po­wer­Shell in VS Code, è ne­ces­sa­rio prima in­stal­la­re l’esten­sio­ne Po­wer­Shell ufficiale. A tal proposito, vai alla sezione “Esten­sio­ni” in VS Code (simbolo sulla barra laterale sinistra) e cerca “Po­wer­Shell”. In al­ter­na­ti­va, usa la com­bi­na­zio­ne di tasti [Ctrl] + [Maiusc] + [X]. Installa l’esten­sio­ne premendo il pulsante ““Trust Workspace & Install” (Con­tras­se­gna lo spazio di lavoro come sicuro e installa).

Immagine: Estensione PowerShell
In­stal­la­re l’esten­sio­ne Po­wer­Shell per VS Code.

Terzo passaggio: crea lo script Po­wer­Shell

Puoi aprire uno script Po­wer­Shell già esistente o crearne uno nuovo, se­le­zio­nan­do “File” > “Nuovo file di testo” e salvando il file as­se­gnan­do­gli un nome e l’esten­sio­ne “.ps1”.

Qui sotto trovi un esempio di codice Po­wer­Shell da scrivere dentro al file:

# This is a comment
$message = "Script to be executed"
Write-Host $message
po­wer­shell

Quarto passaggio: esegui lo script Po­wer­Shell

VS Code contiene un terminale integrato da usare per eseguire i comandi Po­wer­Shell di­ret­ta­men­te nell’ambiente. Aprilo cliccando su “Terminale” > “Nuovo terminale” e seleziona “Po­wer­Shell” come tipo di terminale.

Immagine: Terminale di VS Code
Se­le­zio­na­re il terminale in VS Code.

Creare uno script Po­wer­Shell con Notepad

Di seguito ti mostriamo come creare uno script Po­wer­Shell 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 Po­wer­Shell

Puoi inserire il codice Po­wer­Shell di­ret­ta­men­te nell’editor di testo.

Immagine: Notepad
Inserire il codice Po­wer­Shell in Notepad.

Fai clic su “File” > “Salva” o usa la com­bi­na­zio­ne di tasti [Ctrl] + [S]. Assegna un nome al file e specifica l’esten­sio­ne “.ps1” per salvare lo script sotto forma di file Po­wer­Shell. Seleziona il percorso di sal­va­tag­gio sul tuo computer e fai clic su “Salva”.

Creare uno script Po­wer­Shell con In­te­gra­ted Scripting En­vi­ron­ment (ISE)

Po­wer­Shell In­te­gra­ted Scripting En­vi­ron­ment (ISE) è un ambiente di sviluppo integrato (IDE) di Microsoft. È pre­in­stal­la­to nei sistemi operativi Windows ed è un ambiente user-friendly per lo sviluppo di script Po­wer­Shell. Occorre notare, tuttavia, che a partire da Po­wer­Shell 5.0, ISE è stato so­sti­tui­to da Visual Studio Code (VS Code), il quale offre più fun­zio­na­li­tà e una maggiore fles­si­bi­li­tà.

Primo passaggio: apri Po­wer­Shell ISE

Fai clic su “Avvio” in basso a sinistra sul desktop del PC. Nella barra di ricerca digita “Po­wer­Shell ISE” e seleziona “Esegui come am­mi­ni­stra­to­re”.

Immagine: Avvio di PowerShell ISE
Eseguire Po­wer­Shell ISE come am­mi­ni­stra­to­re.

Secondo passaggio: crea un nuovo script

Puoi creare un nuovo script in Po­wer­Shell ISE facendo clic su “File” > “Nuovo” oppure usando la com­bi­na­zio­ne di tasti [Ctrl] + [N]. Scrivi il codice Po­wer­Shell nella schermata prin­ci­pa­le di ISE. Per fa­ci­li­tar­ti il lavoro hai a di­spo­si­zio­ne varie fun­zio­na­li­tà quali evi­den­zia­zio­ne della sintassi, com­ple­ta­men­to del codice e un’in­ter­fac­cia utente. In questo modo la scrittura del codice risulta più agevole.

Di seguito ti pro­po­nia­mo un esempio per un semplice script:

# This is a comment
$message = "Hello World!"
Write-Host $message
po­wer­shell

Terzo passaggio: salva lo script

Fai clic su “File” > “Salva” o premi la com­bi­na­zio­ne di tasti [Ctrl] + [S]**. As­si­cu­ra­ti di ag­giun­ge­re l’esten­sio­ne “.ps1”, per poter salvare lo script sotto forma di file Po­wer­Shell.

Eseguire lo script Po­wer­Shell

Nor­mal­men­te, l’ese­cu­zio­ne dello script Po­wer­Shell avviene mediante la console Po­wer­Shell o un altro terminale.

Primo passaggio: avvia Po­wer­Shell

Come nell’esempio di ISE, esegui Po­wer­Shell come am­mi­ni­stra­to­re.

Secondo passaggio: modifica di Exe­cu­tion­Po­li­cy

Po­wer­Shell comprende quattro diversi criteri di ese­cu­zio­ne (Execution Policies) che con­trol­la­no l’ese­cu­zio­ne degli script, con­tri­buen­do a prevenire l’ese­cu­zio­ne di script dannosi. I quattro prin­ci­pa­li criteri di ese­cu­zio­ne sono:

  • Re­stric­ted (limitato): criterio di ese­cu­zio­ne pre­de­fi­ni­to per Po­wer­Shell. Questo criterio non consente gli script (che sono di­sat­ti­va­ti) e autorizza solo l’ese­cu­zio­ne di singoli comandi in­te­rat­ti­vi. È l’im­po­sta­zio­ne di sicurezza più elevata, poiché blocca per im­po­sta­zio­ne pre­de­fi­ni­ta l’ese­cu­zio­ne 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 cer­ti­fi­ca­to digitale per au­ten­ti­ca­re lo script.
  • Re­mo­te­Si­gned (firmati da remoto): nel caso del criterio Re­mo­te­Si­gned, è 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 sem­pli­fi­ca l’uso di script locali.
  • Un­re­stric­ted (senza li­mi­ta­zio­ni): questo criterio permette l’ese­cu­zio­ne di tutti gli script senza firme né re­stri­zio­ni. Tuttavia, si scon­si­glia di uti­liz­zar­lo in un ambiente pro­fes­sio­na­le perché comporta alcuni rischi per la sicurezza. Il suo uso è più indicato per svolgere test o in ambienti protetti.

Per vi­sua­liz­za­re il criterio di ese­cu­zio­ne attuale in Po­wer­Shell è possibile uti­liz­za­re il comando Get-Exe­cu­tion­Po­li­cy. Per mo­di­fi­ca­re il criterio di ese­cu­zio­ne, usa il comando “Set-Exe­cu­tion­Po­li­cy” seguito dal criterio de­si­de­ra­to.

Per con­sen­ti­re l’ese­cu­zio­ne di script in Po­wer­Shell puoi digitare il seguente comando:

Set-ExecutionPolicy RemoteSigned
po­wer­shell
Immagine: PowerShell ISE
Mo­di­fi­ca­re il criterio di ese­cu­zio­ne in Po­wer­Shell ISE.

Terzo passaggio: conferma l’ese­cu­zio­ne (se ne­ces­sa­rio)

A seconda delle im­po­sta­zio­ni di sicurezza, in Po­wer­Shell potrebbe comparire un avviso di sicurezza per con­fer­ma­re che vuoi veramente eseguire lo script. Per con­sen­ti­re lo script digita “S” per “sì”, per bloccarlo digita invece “N” per “no”.

Quarto passaggio: avvia lo script Po­wer­Shell

Per eseguire lo script Po­wer­Shell digita il percorso del file:

& "C:\PATH\TO\SCRIPT\script.ps1"
po­wer­shell
Vai al menu prin­ci­pa­le