Rilasciata l'anteprima di PowerShell 7 5, ecco le novità
Microsoft sta rilasciando una nuova versione di anteprima del linguaggio di scripting PowerShell di nuova generazione. Gli utenti interessanti possono ottenere l'anteprima 5 di PowerShell 7. Contiene una serie di nuove funzionalità e molte correzioni di bug sia dalla community che dal team di PowerShell.
PowerShell è una forma avanzata di prompt dei comandi. È esteso con un enorme set di cmdlet pronti per l'uso e offre la possibilità di utilizzare .NET Framework/C# in vari scenari. Windows include uno strumento GUI, PowerShell ISE, che consente la modifica e il debug degli script in modo utile.
PowerShell 7 è la prima shell della riga di comando e pacchetto di linguaggio di scripting basato su .NET Core 3.0. Può raggiungere la compatibilità con oltre il 90% della posta in arrivo di Windows Moduli PowerShell sfruttando le modifiche in .NET Core 3.0 che ripristinano molte API richieste dai moduli basati su .NET Framework in modo che funzionino con .NET Core tempo di esecuzione.
Microsoft sta per rilasciare un'altra versione di anteprima il prossimo mese a novembre. Quindi, salvo problemi di qualità, una Release Candidate a dicembre si è allineata con il
.NET Core 3.1 rilascio finale. Infine, si aspettano la disponibilità generale di PowerShell 7 a gennaio come prima versione di manutenzione a lungo termine.Tra la Release Candidate e la disponibilità generale, Microsoft accetterà solo correzioni di bug critici e non saranno incluse nuove funzionalità. Per quella versione, alcuni Funzionalità sperimentali sarà considerato design stabile e non sarà più sperimentale. Ciò significa che qualsiasi futura modifica di progettazione per tali funzionalità sarà considerata una modifica sostanziale.
Nuove funzionalità nell'anteprima 5
Questa versione ha una serie di nuove funzionalità sia dalla community che dal team di PowerShell. Le versioni di anteprima di PowerShell possono essere installate fianco a fianco con le versioni stabili in modo da poterle utilizzare entrambe.
Operatori di catena
Il nuovo Operatori della catena di gasdotti consentire l'esecuzione condizionale dei comandi a seconda che il comando precedente sia riuscito o meno. Funziona sia con i comandi nativi che con i cmdlet o le funzioni di PowerShell. Prima di questa funzione, potevi già farlo usando Se
dichiarazioni insieme al controllo se $?
ha indicato che l'ultima istruzione è riuscita o meno. Questo nuovo operatore lo rende più semplice e coerente con altre shell.
Operatori condizionali nulli per la coalescenza e l'assegnazione
Spesso nei tuoi script potresti dover controllare se una variabile è $null o se una proprietà è $null prima di usarla. I nuovi operatori condizionali Null rendono questo più semplice.
Il nuovo ??
l'operatore di coalescenza null elimina la necessità di Se
e altro
istruzioni se vuoi ottenere il valore di un'istruzione se non è $null o restituire qualcos'altro se è $null. Nota che questo non sostituisce il controllo per un valore booleano di true o false, controlla solo se è $null.
Il nuovo ??=
L'operatore di assegnazione condizionale null semplifica l'assegnazione di un valore a una variabile solo se non è $null.
Notifica nuova versione di PowerShell
Utilizzando la telemetria, il team ha scoperto che molti utenti utilizzano versioni obsolete di PowerShell. A partire da PowerShell 7, la console pubblicherà una nuova versione, se disponibile.
Maggiori dettagli su questa funzione incluso come disabilitarla nel Notifica sull'aggiornamento della versione RFC
Completamento della scheda per l'assegnazione di variabili
Questa nuova funzionalità ti consentirà di utilizzare il completamento delle schede sull'assegnazione delle variabili e ottenere i valori consentiti per enumerazioni o variabili con vincoli di tipo come [ConvalidaSet()]
. Questo rende facile cambiare $ErrorActionPreference
o il nuovo $ErrorView
(dettagliato di seguito) a valori validi senza doverli digitare.
Format-Hex formattazione migliorata
Questo miglioramento deriva da Joel Sallow fabbricazione Formato-Hex
più utile quando si visualizzano diversi tipi di oggetti in una pipeline, oltre a supportare la visualizzazione di più tipi di oggetti.
Get-HotFix è tornato
Il Ottieni-HotFix
cmdlet funziona solo su Windows e interrogherà il sistema su quali patch sono state installate. Questo non era precedentemente disponibile in PowerShell Core 6 perché dipendeva da Sistema. Spazio dei nomi di gestione che non era disponibile su .NET Core 2.x su cui è basato PowerShell Core 6.x. Tuttavia, .NET Core 3.0 su cui è basato PowerShell 7 ha riportato questo spazio dei nomi (solo per Windows), quindi abbiamo riabilitato questo cmdlet.
C'è un ritardo nell'ottenere risultati in questo esempio a causa del numero di patch che l'autore ha sulla sua macchina virtuale Windows 7.
Select-String aggiunge enfasi
Questo è stato un HackIllinois progetto di Derek Xia che utilizza il testo a colori inversi per evidenziare il testo in una stringa che corrisponde ai criteri di selezione. C'è un optional -Nessuna enfasi
passare per sopprimere l'enfasi.
ConciseView per errori
Alcuni feedback degli utenti che abbiamo ricevuto costantemente riguardano la quantità di testo rosso che ricevi quando riscontri un errore in PowerShell.
Il $ErrorView
la variabile di preferenza consente di modificare la formattazione degli errori. In precedenza, supportava NormalView
(predefinito) e più conciso CategoriaVisualizza
. Questa funzione aggiunge un Vista concisa
dove la maggior parte dei comandi restituisce solo il messaggio di errore pertinente. Nei casi in cui sono presenti informazioni contestuali aggiuntive in un file di script o la posizione in uno script blocco, ottieni il numero di riga, la riga di testo in questione e un puntatore a dove si trova l'errore si è verificato.
Questa nuova visualizzazione fa parte del Aggiorna visualizzazione errori RFC quindi per favore fornisci un feedback lì.
Cmdlet Get-Error
Mentre Vista concisa
fornisce informazioni più precise ma limitate sugli errori, abbiamo aggiunto un nuovo cmdlet Get-Error
per ottenere informazioni molto più complete sugli errori.
Per impostazione predefinita, solo in esecuzione Get-Error
mostra una vista formattata dell'errore più recente, inclusa la visualizzazione di tipi nidificati specifici come Eccezioni ed ErrorRecords, rendendo più semplice la diagnosi di cosa è andato storto.
Questo nuovo cmdlet fa parte di Aggiorna visualizzazione errori RFC quindi per favore fornisci un feedback lì.
PowerShell 7 è impostato per essere aggiornato su base mensile, quindi gli utenti possono aspettarsi più versioni di anteprima del linguaggio di script prima che raggiunga la disponibilità generale quasi un mese dopo .NET Core 3.0.
Inoltre, vedere il Note di rilascio per tutti i dettagli di ciò che è incluso in questa versione.
Fonte: Microsoft