PowerShell è uno strumento estremamente importante nell’arsenale di un professionista dell’IT, ed è proprio accanto alla cassetta dei cacciaviti e alla pila di prodotti promozionali dei fornitori che hai ricevuto alle conferenze IT. Imparare a usare PowerShell oggi è fondamentale. Se ancora non lo conosci, permettici di presentartelo! Secondo Microsoft, PowerShell è una soluzione multipiattaforma per l’automazione delle attività composta da una shell a riga di comando, un linguaggio di scripting e un framework di gestione della configurazione. La shell PowerShell include una solida cronologia della riga di comando, il completamento delle schede e la previsione dei comandi, gli alias dei comandi e dei parametri, la pipeline per il concatenamento dei comandi e un sistema di aiuto integrato.
Quando si inizia a lavorare con PowerShell, la parte importante di questa definizione è “soluzione per l’automazione delle attività”. Essendo un solido linguaggio di scripting, PowerShell consente di pianificare le attività ripetitive e noiose in modo da permetterti di concentrarti sulle attività che richiedono maggiore attenzione.
(Se vuoi saperne di più sulla storia dello sviluppo di PowerShell, questo articolo di Adam the Automator è un ottimo punto di partenza: https://adamtheautomator.com/what-is-powershell/)
Il potere di PowerShell
Conoscere la storia e la definizione di PowerShell è un’ottima cosa, ma in che modo PowerShell può effettivamente avere un impatto sulle tue operazioni quotidiane?
Opportunità di automazione semplici ma di grande impatto
PowerShell dispone di comandi binari che possono essere utilizzati per eseguire semplici azioni, e nella piattaforma sono inclusi moltissimi di questi comandi binari compilati, che vengono chiamati cmdlet. Questi cmdlet possono fungere da elementi di base per il tuo codice, dato che grazie a loro possono essere eseguite diverse operazioni. I comandi possono essere utilizzati separatamente ma anche combinati in flussi di lavoro più complessi. Inoltre, una volta acquisita una maggiore dimestichezza con la scrittura di script PowerShell, potrai addentrarti nelle funzioni, che sono script realizzati in PowerShell e che aumentano l’efficacia del codice rendendolo più facile da leggere e da usare.
Questi due esempi rappresentano solo una piccola parte delle operazioni PowerShell che possono essere utilizzate per migliorare la capacità di automazione. Spesso le piccole attività quotidiane possono essere automatizzate per risparmiare ancora più tempo.
Maggiore visibilità della rete
Con PowerShell puoi accedere rapidamente ai dati dell’organizzazione che potrebbero non essere facilmente accessibili con altri metodi. I comandi possono essere utilizzati per estrarre le impostazioni del desktop, come informazioni sul BIOS, sul processore, sul produttore e sul modello del computer, sulla versione del sistema operativo e altro ancora. Oppure può essere utilizzato per automatizzare gli avvisi in base a una serie di condizioni diverse, consentendo al team IT di essere più proattivo nella gestione dei dispositivi.
Con il cmdlet Get-Command è possibile visulizzare facilmente un elenco di comandi utilizzabili su un determinato dispositivo, compresi cmdlet e funzioni.
PowerShell è un linguaggio di programmazione incredibilmente versatile
Molti professionisti IT trovano PowerShell prezioso nelle operazioni quotidiane e lo utilizzano per qualsiasi cosa, dai trasferimenti di file alle distribuzioni automatizzate. Inoltre può essere considerato uno dei linguaggi di codifica più accessibili, grazie anche alla sintassi “verbo-sostantivo” utilizzata per i cmdlet. Il verbo identificherà l’azione che il cmdlet esegue, mentre il sostantivo identificherà l’entità su cui l’azione viene eseguita.
Quindi, se guardiamo Get-Command qui sopra, questo cmdlet “otterrà” (get) tutti i “comandi” (command) registrati in PowerShell. Esistono specifiche raccomandazioni di denominazione da seguire in base ai verbi approvati, che possono essere trovate qui: https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands?view=powershell-7.3
Grazie alla sua flessibilità e alla facilità di accesso, PowerShell può essere utilizzato per un numero quasi illimitato di casi d’uso.
Come imparare a usare PowerShell
Abbiamo parlato a lungo dei motivi per cui PowerShell può essere importante, ma nel vasto mare di risorse disponibili per questa piattaforma può essere difficile sapere esattamente da dove iniziare. Di seguito abbiamo stilato un elenco di risorse che possono essere utili, per un utente principiante ma anche per un utente esperto.
Abbiamo anche collaborato con Adam the Automator per sviluppare un corso intensivo di 30 minuti su PowerShell, intitolato “PowerShell per Ninja dell’IT“, in cui vengono illustrate alcune delle terminologie di base che si possono incontrare e alcune applicazioni reali che si possono utilizzare nella propria rete.
Risorse aggiuntive
Generali
- Adam the Automator
- Blog del team PowerShell
- Ingegnere PowerShell su YouTube
- Appena in tempo (scenario pratico)
- Novità in PowerShell
- r/usefulscripts
- r/PowerShell
Principianti
- Moduli Microsoft (PowerShell Beginner)
- Corso completo su PowerShell per principianti (pubblicato nel 2021)
- Imparare a usare PowerShell in meno di 2 ore (pubblicato nel 2022)
- PowerShell 101 (utilizza PowerShell versione 5.1)