Che cos'è PowerShell?

Completato

PowerShell è costituito da due parti, una shell della riga di comando e un linguaggio di scripting. È nato come framework per automatizzare le attività amministrative in Windows ed è diventato uno strumento multipiattaforma usato per molti tipi di attività.

Una shell della riga di comando non ha un'interfaccia grafica in cui poter usare un mouse per interagire con gli elementi grafici. Si digitano invece i comandi di testo in una console del computer. Ecco alcuni dei vantaggi dell'uso di una console:

  • L'interazione con una console è spesso più veloce rispetto all'uso di un'interfaccia grafica.
  • In una console è possibile eseguire batch di comandi, quindi si tratta di una soluzione ideale per l'automazione delle attività per le pipeline di integrazione continua.
  • È possibile usare una console per interagire con le risorse cloud e altre risorse.
  • Si possono archiviare comandi e script in un file di testo e usare un sistema di controllo del codice sorgente. Questa funzionalità è probabilmente uno dei vantaggi principali, perché significa che i comandi sono ripetibili e controllabili. In molti sistemi, in particolare i sistemi governativi, tutti gli elementi devono poter essere tracciati e valutati, o controllati. I controlli si estendono a qualsiasi cosa, dalle modifiche apportate al database alle modifiche effettuate da uno script.

Funzionalità

PowerShell ha in comune alcune funzionalità con le shell tradizionali:

  • Sistema di Guida incorporato: la maggior parte delle shell include un qualche tipo di sistema di Guida che permette di ottenere ulteriori informazioni su un comando. Ad esempio, è possibile scoprire la funzione di un comando e i parametri supportati. Il sistema di Guida in PowerShell specifica informazioni sui comandi e si integra con gli articoli della Guida online.
  • Pipeline: nelle shell tradizionali le pipeline vengono usate per eseguire molti comandi in sequenza. L'output di un comando è l'input per il comando successivo. PowerShell implementa questo concetto come le shell tradizionali, ma è diverso perché opera sugli oggetti anziché sul testo. Più avanti in questo modulo sono disponibili altre informazioni su questa funzionalità.
  • Alias: gli alias sono nomi alternativi che possono essere usati per eseguire i comandi. PowerShell supporta l'uso di alias comuni, ad esempio cls (cancellare lo schermo) e ls (elencare i file). I nuovi utenti possono pertanto usare le proprie conoscenze di altri framework e non devono necessariamente ricordare il nome di PowerShell per i comandi noti.

PowerShell differisce da una shell della riga di comando tradizionale per alcuni aspetti:

  • Opera sugli oggetti anziché sul testo. In una shell della riga di comando è necessario eseguire script il cui output e l'input potrebbero differire, quindi si rischia di dedicare tempo alla formattazione dell'output e all'estrazione dei dati necessari. Al contrario, in PowerShell si usano oggetti come input e output. Questo significa dover dedicare meno tempo alla formattazione e all'estrazione.
  • Include cmdlet. I comandi in PowerShell sono detti cmdlet (pronuncia: commandlet). In PowerShell i cmdlet sono basati su un runtime comune anziché su eseguibili separati, come accade in molti altri ambienti shell. Questa caratteristica offre un'esperienza coerente per l'analisi dei parametri e il comportamento della pipeline. I cmdlet accettano in genere input in forma di oggetti e restituiscono oggetti. I cmdlet di base in PowerShell sono realizzati in .NET Core e sono open source. È possibile estendere PowerShell usando più cmdlet, script e funzioni dalla community e da altre origini oppure è possibile creare cmdlet personalizzati in .NET Core o PowerShell.
  • Sono disponibili molti tipi di comandi. I comandi in PowerShell possono essere eseguibili nativi, cmdlet, funzioni, script o alias. Ogni comando eseguito appartiene a uno di questi tipi. Le parole comando e cmdlet vengono spesso usate in modo intercambiabile perché un cmdlet è un tipo di comando.

Installazione

In questo modulo si fa esperienza con l'uso di PowerShell nel computer. PowerShell è disponibile in tutte le piattaforme. Tuttavia, se si usa un computer che esegue Linux, macOS o una versione precedente di Windows, è necessario installarlo.

Le istruzioni per l'installazione di PowerShell sono diverse per ogni sistema operativo. Prima di continuare, prendersi alcuni minuti per installare PowerShell o per verificare l'installazione di PowerShell. La prossima unità in questo modulo illustra come verificare l'installazione.

Windows

Se si esegue Windows 8 o versione successiva, è necessario che sia già installata una versione di PowerShell denominata Windows PowerShell. Questa versione è leggermente diversa dalla versione di PowerShell più aggiornata, ma funziona correttamente a scopo di apprendimento.

È possibile aprire Windows PowerShell dal menu Start.

Altri sistemi operativi

Se il computer esegue un sistema diverso da Windows 8 o versione successiva, è necessario installare PowerShell. Per trovare le istruzioni di installazione per il sistema operativo in uso, vedere Installazione di varie versioni di PowerShell.

Estensione PowerShell per Visual Studio Code

È consigliabile usare l'estensione PowerShell per Visual Studio Code per creare gli script di PowerShell ed eseguire i comandi in questo modulo. Questa estensione consente di eseguire comandi e di usare frammenti di codice, il completamento del codice e l'evidenziazione della sintassi.