Come usare il terminale PowerShell su Windows 10/11

1 - Introduzione

PowerShell è una shell a riga di comando e un linguaggio di scripting sviluppato da Microsoft. Permette di gestire file, cartelle, processi e configurazioni del sistema direttamente da terminale. In questi appunti si usano comandi di base, con spiegazione delle opzioni principali.

2 - Inizio

Per aprire il Terminale su Windows seguire questi passaggi:

  1. Premere contemporaneamente i tasti "Windows" e "X" sulla tastiera.
  • Il tasto "Windows" è quello con il logo di Windows.
  • Il tasto "X" è la lettera X sulla tastiera.
  • Questa combinazione apre un menu in basso a sinistra dello schermo.
  1. Nel menu che appare, individuare la voce "Terminale".
  • La voce si trova generalmente nella parte alta del menu.
  1. Cliccare con il tasto sinistro del mouse sulla voce "Terminale".
  • Si apre la finestra del Terminale.
  • Il Terminale mostra un prompt pronto per ricevere comandi.
  1. Non serve aprire come amministratore.
  • La voce "Terminale (amministratore)" serve solo per operazioni che richiedono privilegi elevati.
  • Per i comandi di questi appunti non servono privilegi di amministratore.
  • Aprire il Terminale come utente normale è più sicuro.

3 - Gestione dei File

3.1 - Creare un file vuoto

New-Item -Path "nomefile.txt" -ItemType File
  • New-Item: crea un nuovo elemento.
  • -Path: specifica il percorso o nome del file da creare.
  • -ItemType File: indica che l'elemento da creare è un file.

3.2 - Aggiungere contenuto a un file

Add-Content -Path "nomefile.txt" -Value "Testo da aggiungere"
  • Add-Content: aggiunge contenuto a un file esistente.
  • -Path: indica il file di destinazione.
  • -Value: specifica il testo da aggiungere.

3.3 - Aggiungere contenuto con nuova riga

Add-Content -Path "nomefile.txt" -Value "`nTesto su nuova riga"
  • `n: carattere di nuova riga all'interno della stringa.
  • -Value: contiene il testo con nuova riga iniziale.

3.4 - Leggere il contenuto di un file

Get-Content -Path "nomefile.txt"
  • Get-Content: legge e mostra il contenuto di un file.
  • -Path: indica il file da leggere.

3.5 - Cancellare un file

Remove-Item -Path "nomefile.txt"
  • Remove-Item: elimina un elemento.
  • -Path: indica il file da eliminare.

4 - Gestione delle Cartelle

4.1 - Creare una directory (cartella)

New-Item -Path "nomcartella" -ItemType Directory
  • New-Item: crea un nuovo elemento.
  • -Path: specifica il nome o percorso della cartella.
  • -ItemType Directory: indica che l'elemento da creare è una cartella.

4.2 - Entrare nella cartella

Set-Location -Path "nomcartella"
  • Set-Location: cambia la directory corrente.
  • -Path: indica la cartella di destinazione.

4.3 - Cancellare una directory (e il suo contenuto)

Remove-Item -Path "nomcartella" -Recurse
  • Remove-Item: elimina un elemento.
  • -Path: indica la cartella da eliminare.
  • -Recurse: elimina anche tutto il contenuto interno in modo ricorsivo.

5 - Copiare e Spostare

5.1 - Copiare un file

Copy-Item -Path "origine.txt" -Destination "destinazione.txt"
  • Copy-Item: copia un elemento.
  • -Path: indica il file di origine.
  • -Destination: indica il file o percorso di destinazione.

5.2 - Spostare un file

Move-Item -Path "origine.txt" -Destination "destinazione.txt"
  • Move-Item: sposta un elemento.
  • -Path: indica il file di origine.
  • -Destination: indica il file o percorso di destinazione.

5.3 - Copiare una directory

Copy-Item -Path "cartella_origine" -Destination "cartella_destinazione" -Recurse
  • Copy-Item: copia un elemento.
  • -Path: indica la cartella di origine.
  • -Destination: indica la cartella di destinazione.
  • -Recurse: copia anche tutto il contenuto interno.

5.4 - Spostare una directory

Move-Item -Path "cartella_origine" -Destination "cartella_destinazione"
  • Move-Item: sposta un elemento.
  • -Path: indica la cartella di origine.
  • -Destination: indica la cartella di destinazione.

6 - Crea semplice script

6.1 - Attivazione permessi script ".ps1" temporaneamente in modo sicuro e protetto

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • Set-ExecutionPolicy: imposta la politica di esecuzione degli script.
  • -Scope Process: applica la modifica solo alla sessione corrente del terminale.
  • -ExecutionPolicy Bypass: consente l'esecuzione degli script senza restrizioni per quella sessione.

Creare il file hello.ps1 con il seguente contenuto:

Write-Host "Hello world"
  • Write-Host: stampa un messaggio nel terminale.
  • "Hello world": testo da visualizzare.

6.2 - Eseguire

.\hello.ps1
  • .\: indica che lo script si trova nella cartella corrente.
  • hello.ps1: nome del file di script da eseguire.

7 - Uso di profile

Aprire il terminale.

Cercare il profilo:

$PROFILE
  • $PROFILE: variabile automatica che mostra il percorso del file di profilo dell'utente corrente.

Creare il profilo con Notepad e ricaricarlo:

notepad $PROFILE
  • notepad: apre il Blocco note.
  • $PROFILE: percorso del file di profilo da modificare o creare.
. $PROFILE
  • .: operatore dot, esegue il file nella sessione corrente.
  • $PROFILE: file di profilo da ricaricare.

Script interno al profilo utente PowerShell:

function hello() {
    Write-Host "Hello world"
}
  • function hello(): definisce una funzione chiamata hello.
  • Write-Host: stampa un messaggio nel terminale.
  • "Hello world": testo visualizzato dalla funzione.

Per usare la funzione:

hello
  • hello: richiama la funzione definita nel profilo.
Torna agli appunti v1.0 — 21-09-2026