16 Comandi PowerShell Essenziali da Conoscere

Windows PowerShell è un’app potente basata sul framework .NET. Si basa su comandi PowerShell chiamati cmdlet. Combinandoli in un determinato ordine, puoi eseguire quasi qualsiasi operazione dalla finestra di PowerShell. Per spiegare come funziona, abbiamo selezionato i comandi PowerShell più essenziali.
Buono a sapere: Windows non riesce a trovare “Powershell.exe”? Scopri cosa fare per riportarlo.
Indice
- Come Usare i Comandi PowerShell
- Comandi PowerShell Essenziali
- Clear-Host o Cls
- Convert-to-HTML
- Get-Command
- Get-Help
- Get-Process
- Get-Service
- Install-Module o Install-Script
- mkdir, md, rmdir
- New-Item
- Remove-Item
- Set-ExecutionPolicy
- Select-Object e Sort-Object
- Start- e Stop-Process
- Suspend- e Resume-Service
- Test-Path
- Wait-Process
- Altri Comandi PowerShell Essenziali
- Domande Frequenti
Come Usare i Comandi PowerShell
Per iniziare a utilizzare i cmdlet, devi avviare PowerShell in modalità Amministratore dal menu di ricerca.

Comandi PowerShell Essenziali
PowerShell in Windows non è solo un’interfaccia a riga di comando attiva ma anche una finestra di scripting e programmazione che può eseguire qualsiasi applicazione o processo desiderato. Sebbene ci siano diversi centinaia di cmdlet, per iniziare devi solo imparare i più essenziali.
1. Clear-Host o Cls
Hai commesso un errore mentre digitavi o qualcosa non sta andando come previsto? Fortunatamente, ci sono ripetizioni in PowerShell. Il comodo comando clear-host può cancellare tutto il testo dalla visualizzazione. Basta digitare il comando in qualsiasi riga sullo schermo e tutto svanirà istantaneamente.

Puoi anche usare il comando più semplice cls, utilizzato frequentemente nel Prompt dei Comandi, con PowerShell. Questi due comandi di cancellazione del testo sono utili quando incontri un messaggio di errore.

Per evitare errori di digitazione nella finestra del Prompt dei Comandi o di PowerShell, copia e incolla i comandi per una maggiore efficacia.
Suggerimento: usa PowerShell per nascondere gli aggiornamenti di Windows, come mostrato in questa guida.
2. Convert-to-HTML
Avere una lunga stringa di HTML è più estetico che guardare agli screenshot disordinati di PowerShell. È anche utile quando hai bisogno di condividere errori di script e altri eventi di PowerShell con membri del team non tecnici.
Tutti i componenti di PowerShell usano oggetti .NET che possiamo visualizzare sullo schermo di PowerShell. Per visualizzarli in una finestra di browser completa, usa il cmdlet Convert-to-HTML. Di seguito è riportato un esempio per visualizzare tutti gli alias PowerShell sul Web. Ricorda di usare una riga separata prima di “Invoke-Item.”
Get-Alias|ConvertTo-Html|Out-File aliases.htm
Invoke-Item aliases.htm
Non appena esegui il comando di conversione HTML, PowerShell ti chiederà di aprire il file di output utilizzando un’altra applicazione. Usare un browser produrrà un elenco di oggetti, come alias.

3. Get-Command
Ci sono principalmente due tipi di comandi: alias e funzioni. Gli alias di PowerShell servono come soprannome per una funzione o un cmdlet. Windows ha memorizzato alcuni alias per impostazione predefinita, che puoi recuperare utilizzando Get-Command. Puoi anche creare i tuoi alias.

L’altro tipo di comando in PowerShell è rappresentato dalle funzioni. Queste utilizzano un verbo approvato (come “get”) e un sostantivo semplice (come “StorageNode”).

Stiamo utilizzando una funzione “Select-object” (nota la combinazione verbo e sostantivo) con quello che è conosciuto come variabile d’ambiente per il nome del computer per visualizzare il nome del computer locale.
$env:computername |Select-Object
Le funzioni sono il punto di partenza della programmazione avanzata in PowerShell. Puoi utilizzare funzioni, come Start-process, con parametri e variabili per creare i tuoi script batch, eseguendo una serie di compiti.
4. Get-Help
PowerShell ha il suo cmdlet di auto-apprendimento, Get-Help, che visualizza tutte le correzioni rapide e le guide in una sola finestra. Inserisci il comando alla fine di qualsiasi output per ricevere aiuto su vari moduli. Potrebbe essere necessario premere Y per consentire l’aggiornamento delle versioni dei contenuti di aiuto.

Ci sono varie opzioni di aiuto tramite Get-help. Ad esempio, se vuoi sapere cosa fa Get-process e qual è la sua sintassi esatta, inserisci quanto segue:
Get-HelpGet-Process
Suggerimento: sei preoccupato che i keylogger monitorino la tua attività sul PC? Scopri come rilevare un keylogger su Windows.
5. Get-Process
Get-Process è un comando PowerShell essenziale che elenca l’intero elenco di processi sul tuo dispositivo locale o su un computer remoto.

Per informazioni più dettagliate sul processo, dovrai specificare altri parametri, come l’ID del processo (PID) o il nome del processo.

Ci sono molti parametri specifici che puoi includere mentre definisci il processo da trovare:
- Elenca i processi specificando la dimensione del file in MB
- Elenca i processi in base alla priorità
- Trova il proprietario di un processo
6. Get-Service
Il tuo computer Windows ha molti programmi e processi in esecuzione. Anche se puoi visualizzarli direttamente nel Task Manager, è più facile visualizzare un elenco completo utilizzando Get-service, che puoi poi convertire in HTML.

Non ricordi il nome esatto del servizio di cui hai bisogno? Puoi usare un simbolo jolly (*) insieme alle poche lettere che ricordi.
Get-service"xyz*"
Alcuni flag comuni che funzionano in combinazione con Get-Service includono -DisplayName, -DependentServices, -InputObject e -RequiredServices.
7. Install-Module o Install-Script
PowerShell è una delle opzioni più sicure per installare pacchetti software per software Windows, come Microsoft Teams, McAfee Security, Bing Translator, i più recenti giochi Xbox, ecc. Per ottenere un elenco completo di software supportato in PowerShell per tutti gli utenti, inserisci:
Get-AppxPackage -AllUsers
Un modo migliore è cercare il pacchetto desiderato nella PowerShell Gallery, una risorsa unica per i pacchetti software più recenti. Una volta trovato, inserisci un comando, come Install-module, Install-Script, o Install-Package. Di seguito è mostrata l’installazione del gioco Minesweeper.
Install-Script -Name Minesweeper
Aspetta alcuni secondi o minuti perché il pacchetto si installi tramite PowerShell. Sarà disponibile in seguito in Windows.

Un altro comando utile è Find-package, che cerca un pacchetto software sul tuo computer o sul Web.
Suggerimento: puoi anche usare il Window Package Manager per installare e aggiornare i programmi.
8. mkdir, md, rmdir
mkdir non è un comando nativo di PowerShell. Tuttavia, è un alias ampiamente usato di new-item per creare directory, poiché questa sintassi è molto popolare in DOS e Linux. Quando usi mkdir con un nome di tua scelta, crea una cartella vuota.
mkdir "nome della tua cartella vuota."Fai puntare PowerShell alla cartella appena creata utilizzando un semplice comando cd.
cd"nome della cartella appena creata."
La cartella appena creata è sempre ubicata lungo il percorso C:\Windows\System32, ma puoi usare cd per puntare a una cartella diversa.

Puoi sostituire mkdir con md per lo stesso scopo di cui sopra. Per rimuovere il contenuto di qualsiasi directory, usa un comando rmdir (rimuovi directory):
rmdir"nome della cartella con contenuto vuoto."
9. New-Item
A differenza di alias come mkdir e md, New-item è il cmdlet ufficiale utilizzato in PowerShell per creare nuovi elementi e impostare i loro valori. Oltre a creare file e cartelle, puoi usarlo per creare chiavi ed elementi di registro.
- Per creare una nuova directory utilizzando il comando
New-item, digita:
New-item-Path"Percorso della directory\"-Name"Nome a tua scelta"-Item Type"directory"- Non appena una directory viene creata, puoi posizionare nuovi file con
New-itemall’interno di quella cartella.
New-item-path"Percorso della directory creata\"-Name"Nome file.txt"-ItemType"file"-Value"Inserisci qualsiasi testo di tua scelta."
- Il file appena creato può essere trovato nella sua cartella di destinazione.

10. Remove-Item
Vuoi rimuovere tutti i file con un’estensione, come .TXT, .DOC, .PDF, .WMV, da una cartella? Prima, punta al percorso esatto della cartella utilizzando cd, poi usa il cmdlet Remove-Item come mostrato di seguito:
Remove-Item*-Include*(tipo file)-Exclude *(qualsiasi variabile o numero)"
Il metodo sopra è molto utile per identificare e rimuovere eventuali file nascosti o di sola lettura o per eliminare file con caratteri speciali.
Buono a sapere: hai problemi a rimuovere un file dal tuo PC? Scopri come forzare l’eliminazione di file non eliminabili in Windows.
11. Set-ExecutionPolicy
Per motivi di sicurezza, PowerShell ha la sua politica di esecuzione che influisce su file di configurazione, script e altri parametri. Questa funzione di sicurezza può essere eseguita utilizzando il comando Set-executionPolicy, insieme a un flag, come -force, che sovrascrive gli elementi esistenti. Segue la sintassi data di seguito.
Set-ExecutionPolicy
[-ExecutionPolicy]
[[-Scope]]
[-Force]
[-WhatIf]
[-Confirm]
[]Ad esempio, utilizzare il comando Set-ExecutionPolicy per installare il software Chocolatey assomiglia al codice mostrato di seguito. Una volta eseguito, scaricherà e installerà il software ufficiale di Chocolatey sul tuo computer.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol -bor3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. Select-Object e Sort-Object
Se la tua cartella o sottocartella ha molti file e estensioni, potresti volerli ordinare o selezionare in ordine crescente o decrescente in base a una proprietà predefinita. Qui è dove i cmdlet Sort-Object e Select-Object possono aiutarti a riordinare più oggetti in una volta.
L’ordinamento e la selezione possono essere applicati a qualsiasi file in diverse cartelle, così come ai processi esistenti sul computer. Di seguito è riportato un esempio di ordinamento e selezione dei dieci processi più importanti in base alla dimensione del set di lavoro (WS) in megabyte.
Get-process|Sort-Object-Property WS |Select-Object- Last "Numero di elementi"
Puoi utilizzare l’ordinamento e la selezione su vari altri parametri, come informazioni storiche di vari file, ordinare tutti gli elementi dell’elenco contenuti in un file Notepad e ordinare vari eventi sul tuo computer.
13. Start- e Stop-Process
Se desideri avviare un nuovo processo in Windows o fermare un processo esistente, puoi utilizzare rapidamente i cmdlet PowerShell per raggiungere questo obiettivo.
Per terminare rapidamente un processo, usa il cmdlet Stop-Process. Il seguente esempio mostra come chiudere un processo per WordPad.
Stop-process-Name"Nome processo o applicazione"
Allo stesso modo, per avviare una nuova applicazione direttamente dalla finestra di PowerShell, inserisci il cmdlet Start-process e il flag -FilePath.
Start-Process -FilePath"Nome applicazione"
Suggerimento: scopri come fermare le app e i processi in background dall’esecuzione in Windows e dal consumo delle tue risorse.
14. Suspend- e Resume-Service
Invece di avviare o fermare un servizio in esecuzione, puoi sospenderlo direttamente. Il cmdlet Suspend-service è semplice da usare e ti aiuta a ridurre l’uso di RAM e CPU dei servizi che non stai attualmente utilizzando.
Nota: puoi usare Get-service per ottenere il nome del servizio da sospendere.
Suspend-service-DisplayName"Nome completo del servizio"
Qualsiasi servizio terminato può essere ripreso successivamente con un semplice comando Resume-service. Se non sei sicuro di quali servizi puoi sospendere senza influenzare negativamente il sistema, usa il seguente comando:
Get-Service|Where-Object{$_.CanPauseAndContinue -eq"True"}|Suspend-Service-Confirm
15. Test-Path
Se vuoi evitare di fare errori nel percorso del file nella tua programmazione, devi assicurarti che il percorso del file nella sintassi sia corretto. Mentre puoi sempre verificare con Esplora File, un modo più accurato per confermare ciò è utilizzare il cmdlet Test-path, che risponde semplicemente “Vero” o “Falso” se un dato percorso esiste.
Test-Path-Path"Nome del percorso"
Puoi modificare il comando per testare la disponibilità di un dato file, verificare se il percorso del registro è accurato e determinare se ci sono altri file oltre a un tipo di file specifico sul tuo computer.
16. Wait-Process
Quando più processi stanno funzionando in tandem, potresti voler attendere che uno o più di essi vengano arrestati prima di poter essere utilizzati nuovamente. Il cmdlet Wait-Process può aiutarti notevolmente. Puoi specificare un timeout per il quale PowerShell attenderà prima che il processo venga arrestato.
Wait-Process -Name"Nome processo, -Timeout (in secondi)
Altri Comandi PowerShell Essenziali
Oltre ai comandi PowerShell elencati sopra, è anche utile conoscere i seguenti cmdlet e funzioni:
Echoè un cmdlet utilizzato per stampare un valore sulla console di PowerShellGet-Hostfornisce dettagli completi del programma che ospita PowerShell in WindowsTest-JSONè un cmdlet avanzato utilizzato per testare se una stringa è un oggetto JSO validoTrace-commandtraccia l’intera espressione o comando per trovare i parametri e i flag che contieneWrite-output, come suggeisce il nome, fornisce un output dell’ultimo comando nella finestra della console.
Suggerimento: familiarizza con questi processi Windows legittimi che possono sembrare malware per evitare di rimuoverli dal tuo sistema.
Domande Frequenti
Come posso risolvere l’errore “Lo script PowerShell non è riconosciuto come il nome di un cmdlet”?
Se PowerShell non riconosce il nome di un cmdlet, potrebbe essere dovuto al fatto che la variabile di percorso non è impostata correttamente. Risolvi eventuali errori della variabile di percorso correggendo il suo percorso di cartella non valido.
Come faccio a catturare un’uscita di errore come variabile in PowerShell?
PowerShell ha un parametro di variabile di errore, $ErrorVariable, progettato per catturare tutti gli output di errore quando inserisci vari cmdlet. Queste possono essere utilizzate per il troubleshooting.