Elenco delle nuove funzionalità di PowerShell 7

La prossima versione principale di PowerShell è disponibile e apporta alcune modifiche significative. La settima versione include funzionalità come l'esecuzione parallela, l'importazione di moduli per l'esecuzione remota, nuovi operatori e altro ancora. In questo post, esamineremo tutte le Nuove(New) funzionalità su PowerShell 7.0 .

Funzionalità di PowerShell 7

Modifiche alla directory di PowerShell

Quando installi PowerShell 7(install PowerShell 7) , verrà installato in una nuova directory e verrà eseguito insieme a PowerShell 5.1 . Se stai eseguendo l'aggiornamento da PowerShell Core 6.x , sovrascriverà la directory di PowerShell 6 e rimuoverà tutti i file non necessari. Ecco l'elenco delle directory che dovresti conoscere:

PowerShell 7 è installato su-

%programfiles%\PowerShell\7

La cartella  %programfiles%\PowerShell\7 viene aggiunta a $env:PATH

I pacchetti di installazione di PowerShell 7 aggiornano le versioni precedenti di PowerShell Core 6.x :

PowerShell Core 6.x su Windows:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

è sostituito da 

%programfiles%\PowerShell\7

Linux:

/opt/microsoft/powershell/6

è sostituito da 

/opt/microsoft/powershell/7

macOS: (macOS: )

/usr/local/microsoft/powershell/6

è sostituito da

/usr/local/microsoft/powershell/7

Nuove funzionalità in PowerShell 7

Ho provato a spiegare brevemente ciascuna di queste funzionalità e come aiuterà gli utenti di (users)PowerShell . Tuttavia, assicurati di leggere più in dettaglio sulla pagina ufficiale di Microsoft .

  1. Parallelizzazione della pipeline
  2. Nuovi operatori
  3. Cmdlet ConciseView e Get-Error
  4. Notifiche automatiche di nuove versioni
  5. Richiama le risorse DSC(Invoke DSC) direttamente da PowerShell 7
  6. Livello di compatibilità

Assicurati sempre di controllare la variabile d'ambiente(Environment Variable) prima di testare i codici effettivi.

1] Parallelizzazione della pipeline

Ora puoi eseguire o gestire oggetti in parallelo invece del metodo sequenza quando usi ForEach-Object -Parallel. Nel nostro post sulla disinstallazione di WIM , questo metodo può smontare tre immagini WIM in poco meno di 10 secondi invece di quasi 25 secondi durante l'esecuzione in sequenza. Ecco un codice di esempio per questo:

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] Nuovi operatori

Ci sono tre nuovi operatori— Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.Questi si comportano come si comporta come un'istruzione if-else semplificata. (behaves like a simplified if-else statement.)Semplificano la scrittura del codice invece di utilizzare sempre il ciclo If-else.

3] Cmdlet ConciseView(ConciseView) e Get-Error

Ottieni il comando di errore Lascia che PowerShell 7

ConciseView è una visualizzazione selezionabile dall'utente che è abilitata come visualizzazione predefinita di PowerShell 7 . Se l'errore non proviene dallo script, riceverai un errore di riga singola. Tuttavia, se proviene dallo script o si verifica un errore di analisi, riceverai un messaggio di errore su più righe e un puntatore che mostra su quale riga si è verificato l'errore.

Quindi hai un nuovo cmdlet Get-Error che può aiutarti a ottenere una visualizzazione dettagliata dell'errore quando lo desideri. Può visualizzare tutti i dettagli, comprese le eccezioni interne, dell'ultimo errore che si è verificato.

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ] Notifiche automatiche(] Automatic) della nuova versione

A partire da PowerShell 7 , il sistema verificherà gli aggiornamenti una volta al giorno e avviserà di una nuova versione, se disponibile. Le informazioni vengono visualizzate solo all'inizio delle sessioni successive. Sono disponibili tre flag per l' aggiornamento di PowerShell(PowerShell Update)

  • Versioni predefinite(Default ) di GA, Anteprima e RC
  • Disattiva(Off) Â disattiva la funzione di notifica degli aggiornamenti
  • LTS notifica solo gli aggiornamenti alle versioni GA di manutenzione a lungo termine ( LTS ).

Se vuoi disattivare le notifiche di aggiornamento in PowerShell 7 , esegui questo comando nella finestra di PowerShell .

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] Richiama le risorse DSC(Invoke DSC) direttamente da PowerShell 7

Il cmdlet Invoke-DscResource(Invoke-DscResource) esegue  un metodo di una risorsa PowerShell Desired State Configuration ( DSC ) specificata. È una caratteristica sperimentale.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] Livello di compatibilità

Consente agli utenti di PowerShell di importare moduli in una sessione di Windows PowerShell implicita. (Windows PowerShell)Usando questo, sarai in grado di eseguire il comando reale come una sessione sul computer remoto e restituire i risultati alla sessione locale. Ora che supporta l'importazione di moduli, puoi eseguire questi moduli su computer remoti.

PowerShell è un software open source disponibile anche su Linux e macOS. È fantastico vedere così tante nuove funzionalità in PowerShell 7 e speriamo che continui a crescere. Puoi leggere di più su Microsoft(about it on Microsoft) .



About the author

Sono un ingegnere del software ed esploratore. Ho esperienza sia con Microsoft Xbox 360 che con Google Explorer. Sono in grado di fornire consigli di esperti per determinati strumenti di sviluppo software, nonché aiutare le persone a risolvere gli errori comuni di Explorer.



Related posts