16 Comandi PowerShell Essenziali da Conoscere

Comandi PowerShell Essenziali in Primo Piano

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
    1. Clear-Host o Cls
    1. Convert-to-HTML
    1. Get-Command
    1. Get-Help
    1. Get-Process
    1. Get-Service
    1. Install-Module o Install-Script
    1. mkdir, md, rmdir
    1. New-Item
    1. Remove-Item
    1. Set-ExecutionPolicy
    1. Select-Object e Sort-Object
    1. Start- e Stop-Process
    1. Suspend- e Resume-Service
    1. Test-Path
    1. 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.

Apri PowerShell in modalità Amministratore dalla ricerca di Windows 11.

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.

Comando clear host per rimuovere tutto il testo nella finestra di PowerShell.

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.

Digitando il comando cls sotto un messaggio di errore per rimuovere tutto il testo in PowerShell.

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

Comando Convert-to-HTML in PowerShell per visualizzare alias in una pagina web.

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.

Un elenco completo di alias di PowerShell visualizzabili su un browser web.

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.

Elenco di alias sotto il comando Get in PowerShell.

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

Elenco di funzioni visualizzate sotto Get-command in PowerShell.

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

Ottenere il nome del computer utilizzando la funzione Select-Object e la variabile d'ambiente in PowerShell.

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.

PowerShell aggiorna aiuto per vari moduli dopo il comando Get-Help.

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

Vari esempi visualizzati nella finestra di PowerShell per il comando get-help.

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.

Comando Get-Process in PowerShell elenca tutti i processi del computer.

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

Specificare il nome del processo nel comando Get-Process in PowerShell.

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.

Comando Get-service nella finestra di PowerShell con un elenco completo di servizi.

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*"

Get-service con iniziali digitati nella finestra di PowerShell.

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

Comando Get AppxPackage per vedere l'intero elenco di pacchetti in PowerShell.

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

Installazione del gioco Minesweeper da PowerShell in Windows.

Aspetta alcuni secondi o minuti perché il pacchetto si installi tramite PowerShell. Sarà disponibile in seguito in Windows.

Installazione del pacchetto Minesweeper in corso.

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."

Creazione di una nuova directory utilizzando il comando mkdir in PowerShell e puntando a quella nuova directory usando cd.

La cartella appena creata è sempre ubicata lungo il percorso C:\Windows\System32, ma puoi usare cd per puntare a una cartella diversa.

Nuova cartella creata utilizzando PowerShell visibile in Esplora File System32.

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."

Comandi md e rmdir utilizzati nella finestra di PowerShell per creare e rimuovere cartelle vuote.

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.

  1. 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"
  1. Non appena una directory viene creata, puoi posizionare nuovi file con New-item all’interno di quella cartella.
New-item-path"Percorso della directory creata\"-Name"Nome file.txt"-ItemType"file"-Value"Inserisci qualsiasi testo di tua scelta."

Comando New-item in uso in PowerShell per creare una nuova cartella e file con testo.

  1. Il file appena creato può essere trovato nella sua cartella di destinazione.

Comandi Essenziali PowerShell Nuovo Elemento in Esplora File

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)"

Rimuovi elemento da una cartella in PowerShell.

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'))

Installazione di Chocolatey in PowerShell utilizzando il comando Set-ExecutionPolicy.

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"

Seleziona e ordina oggetti in base al Get-process predefinito in PowerShell.

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"

Arrestando il processo di WordPad da PowerShell in Windows.

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"

Avvia processo in PowerShell per aprire l'applicazione WordPad.

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"

Comandi Essenziali PowerShell Sospendi 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

Sospendi servizi che possono essere sospesi nella finestra di PowerShell.

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"

Comandi Essenziali PowerShell Testpath

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)

Comandi Essenziali PowerShell Aspetta Processo

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 PowerShell
  • Get-Host fornisce dettagli completi del programma che ospita PowerShell in Windows
  • Test-JSON è un cmdlet avanzato utilizzato per testare se una stringa è un oggetto JSO valido
  • Trace-command traccia l’intera espressione o comando per trovare i parametri e i flag che contiene
  • Write-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.