top of page
Writer's pictureTechCorsair

#Powershell - Come programmare lo spegnimento del computer

Updated: Dec 29, 2022

A volte può essere comodo programmare lo spegnimento del computer in un dato momento, per esempio perchè state scaricando un file di grandi dimensioni e non volete stare ad aspettare. In questo caso è utile un semplicissimo script in Powershell.

Powershell è una potente shell che include un terminale a comandi e un linguaggio di programmazione. Per chiarire, vedetelo come una finestra di comando, la classica finestra di terminale in Windows, come questa:

La differenza con la vecchia shell sta in una maggiore potenza, un linguaggio di scripting più efficiente e ricco di funzioni, e anche in un tool di sviluppo integrato (Powershell ISE):

Il linguaggio di powershell di per sè non è difficile, e in rete esistono migliaia di corsi interattivi per impararlo. Noi però oggi ci concentreremo soltanto nella scrittura di una semplice comando che poi programmeremo per essere eseguito a nostro piacimento, con l'intento di spegnere automaticamente il computer a una specifica ora di uno specifico giorno.

LO SCRIPT

Per prima cosa creiamo lo script. Iniziamo creando un folder nel nostro disco dove memorizzeremo questo script. Io di solito uso un nome originalissimo: Scripts. Poi, all'interno del folder, creiamo un file di testo cliccando nella parte vuota della finestra col tast dx e selezionando Text Document:

Il file possiamo chiamarlo stopcomputer.ps1 (che è l'estensione standard di tutti gli script powershell).

Nota tecnica: l'estensione è la parte del nome di un file dopo il punto. Windows la utilizza come un indicatore del tipo di file. Per esempio .docx è un file MS Word, .pdf è un file Adobe Acrobat, e così via.

NOTA: probabilmente l'estensione non viene visualizzata. Questo perchè di default Windows nasconde le estensioni (non chiedetemi perchè). Per visualizzarle:

Ora dovremmo avere creato un file col nome stopcomputer.ps1. Se avete sbagliato nome, cliccateci sopra una volta, premete il tasto F2 e correggete il nome.

Una volta creato il file, cliccate col tasto destro e selezionate Edit:

Ora il file verrà aperto nell'editor PowershellISE. Una volta aperto il file, copiate e incollate questo codice:

<#
    Simple script to stop the computer
#>

Stop-Computer -Force
 

Le prime tre righe sono soltanto un commento. Il vero comando è "Stop-Computer -force". Questo comando spegne il computer chiudendo anche le applicazioni che possono rifiutarsi di farlo (la parte -force).

Al termine, selezionate dal menu File la voce Save:

Poi chiudete PowershellISE.

SCHEDULARE IL TASK

A questo punto lo script deve essere schedulato, in modo che venga eseguito quando ci serve. Per fare questo, utilizzeremo una funzione di Windows chiamata Task Scheduler. Per aprirlo, cliccate sul bottone Windows (quello che apre il menu per intenderci) e scrivete la parola "sched". Questo basta a visualizzare la funzione. A questo punto apritela cliccando sull'icona:

Una volta aperto, fate doppio clic su "Task Scheduler Library" per aprire i folder:

Io ho creato un folder chiamato "User" per tenerci i miei task. Voi potete fare lo stesso cliccando col tasto dx su "Task Scheduler Library" e selezionando "New folder":

Una volta creato il folder, cliccateci sopra e slezionate "Create basic task" dalla finestra funzioni sulla destra:

Da qui, ecco i passaggi. Prima di tutto impostate un nome (e magari anche una descrizione). Poi cliccate su Next:

Poi dovete indicare l'intervallo di esecuzione del task. In questo caso, selezionate One Time poi cliccate su Next:

Ora dovete indicare quando eseguire lo script, e quindi cliccate su Next. Potete anche inserire una data nel passato, nel caso non vi serva subito. In seguito potrete impostare la data che desiderate:

Ora dovete specificare l'azione da eseguire. Nel nostro caso selezionate "Start a program" e quindi cliccate su Next:

Da ultimo dovete indicare il programma da eseguire. Per farlo, cliccate sul tasto Browse:

e cercate lo script creato in precedenza. Quindi selezionatelo e cliccate su Open:

A questo punto lo script comparirà nella finestra precedente. Cliccate Next per finire:

Si aprirà una finestra riassuntiva per il vostro task. Controllate che tutto sia ok e cliccate su Finish. (se avete sbagliato qualcosa lo potete correggere cliccando sul tasto Back oppure in seguito):

E voilà, il vostro task è quasi pronto. Manca ancora un passaggio per abilitare lo script all'esecuzione automatica, dato che per default è disabilitata. Per abilitarla, ecco come fare:

cliccate sul tasto Windows e digitate powershell. Dovrebbe apparire l'icona del programma. Cliccate col tasto dx del mouse e selezionate "Run as Administrator":

Cliccate su Yes alla domanda che vi verrà posta:

Si aprirà una finestra simile al command prompt di Windows, ma dal colore blu:

Inserite quindi questo comando e premete invio:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted 

Quindi inserite "A" alla domanda che vi viene posta e premete ancora su invio:

Una volta premuto invio il sistema presenterà il prompt

PS C:\WINDOWS\system32> 

e voi potrete chiudere questa finestra.

E' fatta ! Il vostro script è pronto per essere schedulato. Quando dovrete spegnere automaticamente il computer, non dovrete fare altro che aprire il Task Scheduler, selezionare il task che avete creato, cliccare col tasto dx del mouse e selezionare Properties:

Da qui selezionare Triggers e Edit e indicare data e ora di spegnimento:

Confermare poi col tasto OK e il gioco è fatto.

Non fatevi spaventare da questi passaggi. In realtà il processo è piuttosto semplice. Naturalmente questo è solo un esempio, ma qualcuno avrà già capito che le potenzialità della schedulazione dei task sono infinite.

Se l'articolo vi è piaciuto, lasciate un "mi piace". Se qualcosa non è chiaro, o avete suggerimenti, scrivetemelo nei commenti.

Alla prossima !

3 views0 comments

Recent Posts

See All

Comments


bottom of page