PowerShell è la riga di comando moderna di Windows: con pochi comandi permette di vedere cosa c’è installato, aggiornare programmi, controllare dischi e servizi, e ripetere le stesse operazioni ogni volta nello stesso modo. Questa è la prima guida della sezione Guide: spiega le basi che serviranno in tutte le altre. Non serve saper programmare; basta seguire i passaggi e leggere con attenzione cosa fa ogni comando prima di premere Invio.
Prima di iniziare
- Sistema: Windows 10 o Windows 11. PowerShell è già installata.
- Account: per quasi tutto basta un utente normale. I comandi che modificano il sistema richiedono una finestra da amministratore: la guida lo indica ogni volta.
- Regola d’oro: non incollare mai comandi trovati in siti, email o finti CAPTCHA se non sai cosa fanno (vedi la sezione sulla sicurezza).
Passo 1: aprire PowerShell
- Windows 11: tasto destro sul pulsante Start, poi Terminale. Si apre il Terminale di Windows con una scheda PowerShell.
- Windows 10: cerca PowerShell nel menu Start e apri Windows PowerShell.
- Da amministratore: tasto destro su Start, Terminale (amministratore), oppure tasto destro sull’icona di PowerShell e Esegui come amministratore. Windows chiede conferma (Controllo dell’account utente).
Come capire in che modalità sei: in una finestra normale il prompt mostra la tua cartella utente, per esempio PS C:\Users\mario>; da amministratore di solito parte da PS C:\Windows\system32> e la barra del titolo indica Amministratore. Usa la finestra da amministratore solo quando serve, e chiudila alla fine.
Passo 2: controllare la versione
$PSVersionTable.PSVersion

| Windows PowerShell 5.1 | PowerShell 7 | |
|---|---|---|
| Presente in Windows | Sì, sempre | No, si installa a parte |
| Comando per aprirla | powershell |
pwsh |
| Aggiornamenti | Solo correzioni di sicurezza | Nuove versioni periodiche |
| Compatibilità | Massima con i vecchi moduli di Windows | Quasi tutti i moduli; più veloce e multipiattaforma |
Per queste guide va bene la 5.1. Se vuoi la 7, si installa con winget (lo strumento della prossima guida) e convive con la 5.1 senza sostituirla:
winget install --id Microsoft.PowerShell --source winget
Passo 3: come sono fatti i comandi
I comandi di PowerShell si chiamano cmdlet e hanno sempre la forma Verbo-Nome: Get-Process legge i processi, Stop-Process li termina, Get-Service elenca i servizi. I verbi più comuni:
| Verbo | Significato | Rischio |
|---|---|---|
Get |
Legge e mostra informazioni | Nessuno: non modifica nulla |
Test |
Verifica qualcosa e risponde vero o falso | Nessuno |
Set, New |
Modifica o crea | Medio: leggi bene cosa cambia |
Remove, Stop, Clear |
Elimina, ferma, svuota | Alto: prova prima con -WhatIf |
I parametri iniziano con un trattino: Get-ChildItem -Path C:\Windows -Filter *.log. Molti comandi che modificano il sistema accettano -WhatIf, che mostra cosa succederebbe senza farlo davvero, e -Confirm, che chiede conferma per ogni elemento.
Tre trucchi che fanno risparmiare tempo
- Tasto Tab: completa nomi di comandi, parametri e percorsi. Scrivi
Get-Sere premi Tab. - Freccia su richiama i comandi precedenti; Ctrl+R cerca nella cronologia.
- Aiuto:
Get-Help Get-Service -Examplesmostra esempi pronti;Get-Help Get-Service -Onlineapre la documentazione ufficiale nel browser. Per trovare un comando:Get-Command *service*.

Passo 4: dieci comandi da conoscere
| Comando | A cosa serve |
|---|---|
Get-ComputerInfo -Property OsName, OsVersion, CsModel |
Sistema operativo, versione e modello del PC |
Get-ChildItem C:\Users\mario\Downloads |
Elenca i file di una cartella (l’alias dir fa lo stesso) |
Get-Process |
Programmi e processi in esecuzione |
Get-Service |
Servizi di Windows e il loro stato |
Get-Volume |
Dischi, spazio totale e libero |
Test-Connection www.ciaranfi.org -Count 2 |
Come ping, ma con risultati come oggetti |
Get-NetIPConfiguration |
Indirizzo IP, gateway e DNS delle schede di rete |
Get-HotFix |
Aggiornamenti di Windows installati (elenco parziale, vedi la guida dedicata) |
Get-History |
Comandi usati nella sessione |
Clear-Host (o cls) |
Pulisce lo schermo |
Tutti questi comandi leggono soltanto: puoi provarli senza rischi in una finestra normale.
Passo 5: la pipeline, il vero potere di PowerShell
Il simbolo | (pipe) passa il risultato di un comando al successivo. A differenza del vecchio Prompt dei comandi, PowerShell passa oggetti con proprietà (nome, dimensione, data…), non semplice testo: per questo si possono filtrare e ordinare con precisione.
Esempio: i cinque processi che hanno usato più tempo di CPU.
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU, Id

I quattro comandi che userai più spesso nella pipeline:
| Comando | Cosa fa | Esempio |
|---|---|---|
Where-Object |
Filtra | Get-Service | Where-Object Status -eq 'Stopped' |
Sort-Object |
Ordina | Get-ChildItem | Sort-Object Length -Descending |
Select-Object |
Sceglie colonne o primi risultati | Get-Volume | Select-Object DriveLetter, SizeRemaining |
Export-Csv |
Salva in un file apribile con Excel | Get-Service | Export-Csv servizi.csv -NoTypeInformation -Encoding UTF8 |
Per vedere un risultato in una finestra con filtro e ordinamento, aggiungi | Out-GridView alla fine (disponibile su Windows).
Esempio pratico: i file più grandi nella cartella Download
Get-ChildItem "$env:USERPROFILE\Downloads" -File -Recurse |
Sort-Object Length -Descending |
Select-Object -First 10 Name, @{n='MB'; e={[math]::Round($_.Length / 1MB, 1)}}
La colonna MB è una proprietà calcolata: divide la dimensione in byte per 1 MB e arrotonda a un decimale. È un comando di sola lettura: mostra i file, non li cancella.
Passo 6: eseguire uno script
Un file .ps1 contiene una sequenza di comandi. Per sicurezza Windows non esegue script finché non lo consenti. Controlla l’impostazione attuale:
Get-ExecutionPolicy -List
Per consentire gli script scritti da te e quelli scaricati e firmati, solo per il tuo utente:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Evita Unrestricted e Bypass come impostazione permanente. Se scarichi uno script da una fonte che conosci e ne hai letto il contenuto, puoi sbloccarlo con Unblock-File .\script.ps1. Le guide successive useranno script brevi e commentati riga per riga.
Sicurezza: i comandi che non devi incollare
Attenzione alle truffe con PowerShell. Esistono campagne di attacco (note come «ClickFix» o finti CAPTCHA) che mostrano una pagina con scritto «premi Win+R, poi Ctrl+V e Invio per dimostrare di non essere un robot». Il testo incollato è un comando PowerShell che scarica un programma malevolo.
Nessun sito legittimo, nessuna banca e nessun servizio di assistenza ti chiede di incollare comandi. Se ti succede, chiudi la pagina; se l’hai già fatto, scollega il PC da Internet e cambia le password da un altro dispositivo. Vedi anche come riconoscere un messaggio falso.
- Diffida di comandi che contengono
-EncodedCommand,iexoInvoke-Expression,DownloadStringo lunghe stringhe incomprensibili. - Prima di eseguire un comando che modifica il sistema, cerca il nome del cmdlet nella documentazione Microsoft.
- Usa la finestra da amministratore solo per il tempo necessario.
Errori comuni
- «Accesso negato»: il comando richiede una finestra da amministratore.
- «Impossibile caricare il file… l’esecuzione di script è disabilitata»: vedi il passo 6.
- Percorsi con spazi: vanno tra virgolette, per esempio
"C:\Program Files". - Il comando non esiste: controlla di non aver scritto un trattino lungo (–) al posto del trattino normale (-), succede copiando da documenti di Word.
Fonti
- Microsoft Learn, Che cos’è PowerShell.
- Microsoft Learn, Installare PowerShell in Windows.
- Microsoft Learn, about_Execution_Policies.
- Microsoft Learn, Scoprire oggetti, proprietà e metodi.
