PowerShell è una shell con interfaccia a riga di comando sviluppata da Microsoft e caratterizzata da un potente linguaggio di scripting. PowerShell definisce diversi tipi di comandi che è possibile usare in fase di sviluppo. Questi comandi includono funzioni, filtri, script, alias ed eseguibili (applicazioni). Il tipo di comando principale illustrato nella guida di Microsoft è un comando semplice e di piccole dimensioni denominato "cmdlet". PowerShell è già integrato nel sistema operativo Windows e ne esiste anche una versione cross-platform un po’ più limitata nelle funzionalità ma compatibile anche con i sistemi macOS e Linux1. Puoi utilizzare PowerShell per interagire con la configurazione di Windows, estrarre informazioni utili, gestire PC in rete locale, bloccare l’accesso a Internet per un programma Windows, e molto altro. Inoltre, PowerShell supporta la cosiddetta pipeline. Similmente a quanto avviene su Linux, combinando più comandi PowerShell e separandoli con il simbolo | è possibile eseguire attività anche molto complesse e articolate.

Ecco un esempio concreto di come si può utilizzare PowerShell per elencare tutti i file con estensione .docx presenti in una specifica directory e nelle sue sottodirectory, e poi esportare queste informazioni in un file CSV:

Get-ChildItem -Path "C:\\Users\\*.docx" -Recurse | Select-Object Directory,Name | Export-CSV $env:userprofile\\Desktop\\file_docx.csv

In questo esempio, il comando Get-ChildItem viene utilizzato per ottenere un elenco di tutti i file .docx nella directory specificata e nelle sue sottodirectory. L’output di questo comando viene poi passato al comando Select-Object, che seleziona solo le proprietà Directory e Name di ogni file. Infine, l’output viene esportato in un file CSV sulla scrivania dell’utente. Questo è solo un esempio di ciò che si può fare con PowerShell. Puoi combinare e concatenare diversi comandi per eseguire attività complesse e articolate, qui di seguito alcuni passi fondamentali per cominciare a scoprire Powerschell e iniziare a sfruttarla per le proprie esigenze:

Passo 1: Familiarizzati con l'Interfaccia Per iniziare, apri PowerShell su Windows. Puoi farlo cercando "PowerShell" nel menu Start e selezionando "Windows PowerShell". Ti troverai davanti a una finestra blu con un prompt che aspetta i tuoi comandi.

Passo 2: Impara i Comandi di Base PowerShell utilizza comandi chiamati cmdlet, che seguono una struttura "Verbo-Sostantivo". Ecco alcuni comandi di base per iniziare:- `Get-Help`: Fornisce aiuto e informazioni su altri cmdlet. - `Get-Command`: Elenca tutti i cmdlet e le funzioni disponibili. - `Get-Service`: Elenca tutti i servizi di sistema. - `Set-ExecutionPolicy`: Cambia la policy di esecuzione per gli script. - `Get-ExecutionPolicy`: Visualizza la policy di esecuzione corrente.

Passo 3: Esegui il Tuo Primo Script Puoi scrivere script in PowerShell per automatizzare compiti ripetitivi. Gli script sono semplicemente file di testo con l'estensione `.ps1`. Prova a creare un semplice script con il seguente contenuto:```powershell Write-Output "Ciao, mondo!" ```Salva il file come `CiaoMondo.ps1` e poi eseguilo in PowerShell con il comando `.\CiaoMondo.ps1`.

Passo 4: Impara a Navigare nel Filesystem PowerShell ti permette di navigare nel filesystem in modo simile al prompt dei comandi. Usa `Set-Location` per cambiare directory e `Get-ChildItem` per elencare i file e le cartelle nella directory corrente.

Passo 5: Gestisci l'Output Impara a utilizzare `Out-File` per inviare l'output di un comando a un file, e `Select-Object` per selezionare colonne specifiche di output.

Passo 6: Capire le Pipeline Una delle funzionalità più potenti di PowerShell è la pipeline, che ti permette di passare l'output di un cmdlet come input al successivo. Usa il simbolo `|` per collegare i cmdlet.Passo 7: Esplora i Moduli PowerShell si estende attraverso moduli che contengono ulteriori cmdlet. Usa `Get-Module -ListAvailable` per vedere i moduli installati e `Import-Module` per caricarne uno.