Logo NEXSYS menu
ISO 9001

Nexsys Srl è certificata
ISO 9001:2015

Microsoft Solutions Partner

Siamo Microsoft Solution Partner per il Modern Work

APPROFONDIMENTI E NEWS

Novità di PowerShell 7

PowerShell 7: novità, versioni supportate e perché aggiornare da Windows PowerShell 5.1

PowerShell 7 è la versione moderna, open source e multipiattaforma di PowerShell. Rispetto a Windows PowerShell 5.1, integrato in Windows e ancora presente in molti ambienti aziendali, PowerShell 7 nasce per scenari ibridi, cloud, automazione avanzata e gestione di sistemi Windows, Linux e macOS. Per una panoramica introduttiva dello strumento è utile partire anche dalla guida Nexsys Cos’è PowerShell: guida e vantaggi per automazione e amministrazione sistemi.

L’articolo originale su PowerShell 7.0 aveva senso al momento del rilascio, ma oggi deve essere letto in chiave evolutiva. PowerShell 7.0 ha introdotto funzionalità fondamentali come ForEach-Object -Parallel, operatori ternari, operatori null-coalescing, pipeline chain operators e una migliore compatibilità con i moduli Windows PowerShell. Nel 2026, tuttavia, il riferimento operativo per nuove implementazioni aziendali è PowerShell 7.6 LTS.

Per un reparto IT, la domanda non è più se PowerShell 7 sia una novità interessante. La domanda corretta è: quali script, moduli, procedure operative e strumenti di gestione devono essere validati su PowerShell 7 per ridurre dipendenza da componenti legacy, migliorare automazione e mantenere il controllo del ciclo di vita?

Windows PowerShell 5.1 e PowerShell 7: differenza corretta

Windows PowerShell 5.1 è la versione storicamente integrata nei sistemi Windows. È basata su .NET Framework, viene gestita come componente del sistema operativo e continua a essere presente per compatibilità con moduli, snap-in e procedure legacy. PowerShell 7, invece, è basato su .NET moderno, viene distribuito separatamente e può essere installato in parallelo a Windows PowerShell 5.1.

Questo punto è essenziale: installare PowerShell 7 non sostituisce Windows PowerShell 5.1. Le due versioni possono coesistere sullo stesso sistema. Windows PowerShell viene avviato con powershell.exe, mentre PowerShell 7 viene avviato con pwsh.exe. Questa coesistenza consente una migrazione controllata, senza dover riscrivere immediatamente tutto il patrimonio di script aziendali.

La distinzione è particolarmente rilevante in ambienti Active Directory, Windows Server, Microsoft 365, Intune e automazione endpoint. In questi scenari Nexsys può supportare sia la parte formativa con il Corso PowerShell Fundamentals e PowerShell Secure Scripting, sia l’integrazione con percorsi tecnici su Windows Server, Active Directory e Microsoft 365 Administration.

Windows PowerShell

Si tratta di un motore di scripting presente nativamente sui sistemi operativi Microsoft Windows sia nella versione core che in quella Desktop (GUI). Per verificarne la versione basterà eseguire questo comando:

Get-Host

 

screen powershell 7.0 command get-host

Per avviarla ci sono due modi:

  • Fare click su Start, digitare PowerShell e cliccare su Windows PowerShell;
  • Fare click su Start, avviare il terminale cercando cmd.exe e una volta aperto digitare PowerShell

Quale versione di PowerShell usare nel 2026

Nel 2026 la pagina non deve più comunicare PowerShell 7.0 come versione attuale. Il posizionamento corretto è distinguere tra versione LTS, versione Stable e versioni precedenti ormai fuori supporto.

Versione

Uso consigliato

Stato supporto

PowerShell 7.6 LTS

Versione LTS corrente. Indicata per nuove adozioni enterprise e ambienti dove conta stabilità del ciclo di vita.

Supporto fino al 14 novembre 2028.

PowerShell 7.5

Versione Stable. Utile per chi segue più rapidamente le novità tra due release LTS.

Supporto fino al 10 novembre 2026.

PowerShell 7.4 LTS

Precedente release LTS ancora supportata. Valida per ambienti già standardizzati su questa versione.

Supporto fino al 10 novembre 2026.

PowerShell 7.0 LTS

Versione storica che ha segnato il passaggio da PowerShell Core a PowerShell 7.

Fuori supporto dal 3 dicembre 2022.

Windows PowerShell 5.1

Componente Windows legacy ancora usato per compatibilità con moduli e automazioni storiche.

Segue il ciclo di vita del sistema operativo Windows.

 

Per ambienti di produzione, la scelta più conservativa è usare la release LTS supportata, salvo esigenze specifiche di compatibilità applicativa o dipendenza da funzionalità introdotte in una Stable release.

Novità principali introdotte con PowerShell 7.0

PowerShell 7.0 resta importante perché ha introdotto alcune funzionalità che hanno cambiato il modo di scrivere automazioni moderne. Le principali sono:

  • Parallelizzazione con ForEach-Object -Parallel, utile per eseguire operazioni concorrenti su collezioni di oggetti, host o risorse.
  • Operatore ternario, utile per rendere più compatte alcune condizioni semplici.
  • Operatori di concatenamento delle pipeline && e ||, utili per eseguire comandi successivi in base al successo o fallimento del comando precedente.
  • Operatori null-coalescing ?? e ??=, utili per gestire valori nulli in modo più leggibile.
  • Visualizzazione degli errori più leggibile con ConciseView e cmdlet Get-Error.
  • Miglior compatibilità con moduli Windows PowerShell tramite esecuzione implicita in Windows PowerShell quando necessario.

Esempio: verificare la versione in uso

$PSVersionTable

$PSVersionTable.PSVersion

$PSVersionTable.PSEdition

 

Esempio: ForEach-Object -Parallel

1..10 | ForEach-Object -Parallel {

    "Elaborazione elemento $_ sul processo $PID"

}

 

Esempio: operatori && e ||

Test-Path C:\Temp && Write-Host "Cartella presente"

Test-Path C:\CartellaInesistente || Write-Host "Cartella non trovata"

 

Esempio: operatore null-coalescing

$displayName = $user.DisplayName ?? $user.SamAccountName

 

Novità rilevanti di PowerShell 7.6 LTS

PowerShell 7.6 LTS è la release più importante da citare nell’aggiornamento 2026 della pagina. È basata su .NET 10 e introduce aggiornamenti di runtime, moduli e miglioramenti al motore, ai cmdlet e alla tab completion. Non va presentata come rivoluzione sintattica rispetto a PowerShell 7.0, ma come consolidamento enterprise di PowerShell 7 su un ciclo LTS aggiornato.

  • Base runtime aggiornata a .NET 10, con allineamento al ciclo di vita LTS più recente.
  • Aggiornamento dei moduli inclusi, tra cui PSResourceGet, PSReadLine e Microsoft.PowerShell.ThreadJob.
  • Miglioramenti alla tab completion e all’inferenza dei tipi in diversi scenari di scripting.
  • Miglioramenti a cmdlet esistenti, tra cui Get-Clipboard, Out-GridView, Join-Path, ConvertFrom-Json e Start-Process.
  • Miglioramenti al motore e al comportamento in scenari diagnostici, remoting e gestione dei processi.

Dal punto di vista di un amministratore IT, il valore principale non è una singola nuova feature, ma la possibilità di standardizzare lo scripting moderno su una versione supportata, documentata e coerente con i processi di aggiornamento enterprise.

Installazione di PowerShell 7 su Windows

Su Windows PowerShell 7 può essere installato con più metodi. Per singoli amministratori è sufficiente usare winget o il pacchetto MSI. Per ambienti aziendali è preferibile distribuire il pacchetto MSI con strumenti centralizzati come Microsoft Intune, Microsoft Configuration Manager o altri sistemi di endpoint management.

winget search Microsoft.PowerShell

winget install --id Microsoft.PowerShell --source winget

 

Dopo l’installazione, PowerShell 7 si avvia con il comando pwsh. Windows PowerShell 5.1 continua invece ad avviarsi con powershell.exe.

pwsh

$PSVersionTable

 

In contesti aziendali, l’installazione deve essere gestita come parte della strategia di aggiornamento endpoint. Questo può rientrare in progetti di Endpoint Management e UEM o in percorsi di formazione su Microsoft Intune.

Aggiornamenti tramite Microsoft Update

PowerShell 7 può ricevere aggiornamenti attraverso il flusso Microsoft Update, integrandosi con strumenti come Windows Update for Business, WSUS, Microsoft Configuration Manager e processi di gestione patch già presenti in azienda. Per ambienti regolamentati, questa opzione riduce il rischio di installazioni manuali non tracciate e consente una gestione più coerente delle versioni.

La configurazione degli aggiornamenti va però validata: non basta installare PowerShell 7 una volta. Serve decidere quale canale usare, quale versione standardizzare, come testare gli script critici e come distribuire nuove build in modo controllato.

Compatibilità dei moduli: cosa verificare prima della migrazione

La compatibilità dei moduli è il punto più delicato in una migrazione da Windows PowerShell 5.1 a PowerShell 7. Molti moduli moderni funzionano nativamente su PowerShell 7, ma alcuni moduli storici legati a componenti Windows, snap-in o API .NET Framework possono richiedere ancora Windows PowerShell 5.1.

Per questo motivo la migrazione non deve essere trattata come un semplice aggiornamento del terminale. Va eseguito un inventario degli script, dei moduli caricati, delle dipendenze e degli host di automazione. In particolare bisogna verificare:

  • moduli Active Directory, Group Policy, Exchange, SharePoint, VMware, backup e strumenti di terze parti;
  • script schedulati in Task Scheduler, job di monitoraggio, script di provisioning e automazioni di help desk;
  • dipendenze da snap-in, assembly .NET Framework o cmdlet non disponibili in PowerShell 7;
  • uso di path hardcoded verso powershell.exe invece di pwsh.exe;
  • policy di esecuzione, firma degli script, logging e transcript.

Un esempio tipico è la gestione di Active Directory. Cmdlet come Get-ADUser restano centrali per molte attività amministrative. Per un approfondimento operativo è disponibile anche la guida Nexsys Get-ADUser PowerShell.

Quando mantenere Windows PowerShell 5.1

Windows PowerShell 5.1 non deve essere eliminato né considerato automaticamente obsoleto in ogni scenario. In molti ambienti resta necessario per moduli legacy, script storici, strumenti amministrativi e componenti integrati in Windows. La strategia corretta è mantenere PowerShell 5.1 per compatibilità e introdurre PowerShell 7 come runtime moderno per nuovi script, automazioni cloud e attività multipiattaforma.

Questa impostazione riduce il rischio operativo: gli script esistenti continuano a funzionare, mentre i nuovi sviluppi possono essere scritti e testati direttamente su PowerShell 7.

setup powershell image

Invece per chi volesse eseguire l’installazine da Windows PowerShell dovrà copiare questa riga e incollarla nella scheda aperta:

iex “& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI”
powershell downloading

Best practice enterprise per adottare PowerShell 7

In azienda PowerShell 7 deve essere governato come componente infrastrutturale, non come semplice tool installato sui PC degli amministratori. Le best practice principali sono:

  1. Definire una versione standard aziendale, preferibilmente LTS per ambienti produttivi.
  2. Creare una matrice di compatibilità per script e moduli critici.
  3. Separare script legacy, script compatibili e script da riscrivere.
  4. Usare repository controllati per gli script amministrativi.
  5. Applicare firma degli script dove richiesto da policy interne o compliance.
  6. Abilitare logging, transcript e tracciamento delle attività amministrative.
  7. Validare le automazioni in ambiente di test prima di distribuirle in produzione.
  8. Distribuire PowerShell 7 con strumenti centralizzati, evitando installazioni manuali non governate.
  9. Formare sistemisti e operatori IT su differenze, compatibilità e secure scripting.

Questi aspetti si collegano direttamente ai percorsi Nexsys su PowerShell Secure Scripting, Windows Server, Active Directory e servizi di cybersecurity.

PowerShell 7 e sicurezza: perché il tema non è solo automazione

PowerShell è uno strumento potente e, proprio per questo, deve essere gestito con attenzione. La stessa flessibilità che consente di automatizzare amministrazione, provisioning, reporting e troubleshooting può essere abusata in scenari di attacco o movimento laterale. L’adozione di PowerShell 7 deve quindi essere accompagnata da controllo degli accessi amministrativi, logging, verifica degli script, policy di esecuzione e monitoraggio degli eventi.

In ambienti Microsoft moderni, PowerShell rimane centrale per amministrare Microsoft 365, Exchange Online, Teams, SharePoint, Entra ID, Intune, Defender e Windows Server. La formazione tecnica deve quindi includere non solo sintassi e cmdlet, ma anche secure scripting, gestione delle credenziali, moduli affidabili e tracciabilità delle azioni.

PowerShell 7 per sistemisti, cloud admin e team IT

PowerShell 7 è particolarmente utile per chi lavora in ambienti ibridi. Un sistemista può usarlo per amministrare server Windows e Linux, interrogare API REST, gestire file JSON e CSV, automatizzare attività Active Directory, eseguire report su Microsoft 365 o orchestrare attività su endpoint aziendali.

Il vantaggio non è solo tecnico. Standardizzare PowerShell 7 consente di ridurre attività manuali, uniformare procedure operative, aumentare ripetibilità e migliorare qualità dei controlli. In contesti con molte sedi, server, tenant o endpoint, la differenza tra attività manuale e automazione ben progettata impatta direttamente tempi, errori e sicurezza.

Formazione PowerShell con Nexsys

Nexsys eroga formazione tecnica su PowerShell, Windows Server, Active Directory, Microsoft 365 e sicurezza. Il percorso Corso PowerShell Fundamentals e PowerShell Secure Scripting è pensato per amministratori IT, sistemisti, tecnici help desk evoluti e professionisti che devono usare PowerShell in modo efficace e sicuro.

Il corso non si limita alla sintassi base. L’obiettivo è portare PowerShell dentro attività reali: gestione di risorse, pipeline, funzioni, moduli, CIM/WMI, remoting, debug, conformità degli script e pratiche di secure scripting. Per aziende che usano PowerShell in produzione, questo approccio è più utile di una formazione puramente introduttiva.

Per pianificare un percorso dedicato è possibile consultare il catalogo corsi di formazione informatica Nexsys o la pagina contatti Nexsys.

Conclusione

PowerShell 7.0 è stato un passaggio importante nella storia di PowerShell, ma oggi non deve essere presentato come versione attuale. Nel 2026 la scelta corretta è aggiornare la pagina in chiave enterprise: PowerShell 7.6 LTS, coesistenza con Windows PowerShell 5.1, ciclo di vita supportato, compatibilità dei moduli, aggiornamenti gestiti e formazione degli amministratori.

Per i team IT, PowerShell 7 non è solo un nuovo prompt. È uno standard operativo per automatizzare, documentare e rendere più controllabile la gestione di infrastrutture Microsoft, ambienti ibridi e servizi cloud.

FAQ Powershell 7

PowerShell 7 sostituisce Windows PowerShell 5.1?

No. PowerShell 7 viene installato in parallelo a Windows PowerShell 5.1. Windows PowerShell usa powershell.exe, mentre PowerShell 7 usa pwsh.exe. Questo consente una migrazione graduale e mantiene la compatibilità con script e moduli legacy.

Quale versione di PowerShell 7 conviene usare nel 2026?

Per nuove adozioni enterprise la scelta più solida è PowerShell 7.6 LTS, perché offre un ciclo di supporto più lungo. PowerShell 7.4 LTS e 7.5 restano supportati fino al 10 novembre 2026, ma non sono la scelta migliore per nuove standardizzazioni a lungo termine.

PowerShell 7.0 è ancora supportato?

No. PowerShell 7.0 LTS è fuori supporto dal 3 dicembre 2022. Va considerato una versione storica, non una versione da installare oggi in produzione.

Gli script PowerShell 5.1 funzionano sempre su PowerShell 7?

Non sempre. Molti script funzionano senza modifiche, ma alcuni dipendono da moduli, snap-in, API .NET Framework o comportamenti specifici di Windows PowerShell 5.1. Prima della migrazione serve una validazione tecnica degli script critici.

PowerShell 7 può essere distribuito con Intune o Configuration Manager?

Sì. In azienda è consigliabile distribuire PowerShell 7 con strumenti centralizzati, usando pacchetti MSI o procedure gestite. Questo permette controllo delle versioni, rollout progressivo e aggiornamenti coerenti.

PowerShell 7 è utile anche per Microsoft 365?

Sì. PowerShell resta uno strumento centrale per amministrare Microsoft 365, Exchange Online, Teams, SharePoint, Entra ID, Intune e altri servizi Microsoft, soprattutto quando servono automazioni, report e modifiche massive.

Perché formarsi su PowerShell Secure Scripting?

Perché PowerShell è uno strumento amministrativo potente e può avere impatti rilevanti sulla sicurezza. Secure scripting significa scrivere script leggibili, controllabili, tracciabili, meno esposti a errori e coerenti con policy aziendali.

Preferisci compilare il modulo? Scrivi i tuoi dati qui sotto

Il servizio telefonico è attivo dal lunedì al venerdì dalle 8:00 alle 18:00 al numero 0452456669. Puoi anche compilare il modulo sottostante: