Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
PowerShell 7.3 è la versione stabile successiva, basata su .NET 7.0.
PowerShell 7.3 include le funzionalità, gli aggiornamenti e le modifiche di rilievo seguenti.
Modifiche significative e miglioramenti
- In questa versione le API di Windows sono state aggiornate o rimosse per la conformità, il che significa che PowerShell 7.3 non viene eseguito in Windows 7. Anche se Windows 7 non è più supportato, le build precedenti potrebbero essere eseguite in Windows 7.
- PowerShell Direct per Hyper-V è supportato solo in Windows 10 versione 1809 e successive.
-
Test-Connection
viene interrotta a causa di una modifica intenzionale di rilievo in .NET 7. Viene tracciato da #17018 - Aggiungere
clean
un blocco al blocco di script come peer abegin
,process
eend
per consentire una pulizia semplice delle risorse (#15177) - Modificare il valore predefinito per
$PSStyle.OutputRendering
in Host - Fare in modo che
Out-String
eOut-File
mantengano invariato l'input di stringa (#17455) - Spostare la definizione dei dati del tipo di System.Security.AccessControl.ObjectSecurity nel modulo Microsoft.PowerShell.Security (#16355) (grazie) @iSazonov!)
- Prima di questa modifica, un utente non deve importare in modo esplicito il modulo Microsoft.PowerShell.Security per usare le proprietà del codice definite per un'istanza di System.Security.AccessControl.ObjectSecurity.
- Dopo questa modifica, un utente deve importare in modo esplicito il modulo Microsoft.PowerShell.Security per usare tali proprietà di codice e metodi di codice.
Miglioramenti del completamento tramite tabulazione
- PowerShell 7.3 include PSReadLine 2.2.6, che abilita IntelliSense predittivo per impostazione predefinita. Per altre informazioni, vedere about_PSReadLine.
- Correzione del completamento della scheda all'interno del blocco di script specificato per .
ValidateScriptAttribute
(#14550) (grazie) @MartinGC94!) - Aggiunto il completamento automatico per le etichette del ciclo dopo
break
/continue
(#16438) (grazie @MartinGC94!)) - Migliorare il completamento della tabella hash in più scenari (#16498) (grazie)@MartinGC94!)
- Splatting dei parametri
-
Parametro arguments per
Invoke-CimMethod
-
Parametro FilterHashtable per
Get-WinEvent
- Parametro della proprietà per i cmdlet CIM
- Rimuove i duplicati dagli scenari di completamento dei membri
- Supporto delle barre oblique nel completamento della condivisione di rete (percorso UNC) (#17111) (Grazie @sba923!))
- Migliorare il completamento automatico dei membri (#16504) (grazie)@MartinGC94!)
- Assegnare la priorità ai completamenti ValidateSet rispetto alle Enumerazioni per i parametri (#15257) (grazie) @MartinGC94!)
- Aggiungere il supporto per l'inferenza dei tipi per i metodi generici con parametri di tipo (#16951) (Grazie a) @MartinGC94!)
- Migliorare l'inferenza e i completamenti dei tipi (#16963) (grazie)@MartinGC94!)
- Consente di visualizzare i metodi nei risultati di completamento per
ForEach-Object -MemberName
- Impedisce il completamento delle espressioni che restituiscono void come
([void](""))
- Consente la visualizzazione dei costruttori di classe non predefiniti quando il completamento della classe è basato su AST
- Consente di visualizzare i metodi nei risultati di completamento per
- Migliorare l'inferenza dei tipi per
$_
(#17716) (grazie) @MartinGC94!) - Correzione dell'inferenza del tipo per ICollection (#17752) (grazie)@MartinGC94!)
- Impedire la rimozione delle parentesi graffe durante il completamento delle variabili (#17751) (grazie) @MartinGC94!)
- Aggiunta del completamento per le espressioni di indice per i dizionari (#17619) (grazie@MartinGC94!))
- Correzione del completamento del tipo per i token di attributo (#17484) (grazie @MartinGC94!))
- Migliorare il completamento della scheda dei parametri dinamici (#17661) (grazie)@MartinGC94!)
- Evitare l'associazione dei parametri posizionali quando si completa il parametro davanti al valore (#17693) (grazie)@MartinGC94!)
Miglioramento della gestione degli errori
- Impostare
$?
correttamente per l'espressione di comando con reindirizzamenti (#16046) - Correggere un errore di casting durante l'uso di
$PSNativeCommandUseErrorActionPreference
(#15993) - Rendere facoltativa la
ErrorActionPreference
gestione degli errori del comando nativo (#15897) - Specificare il percorso eseguibile come
TargetObject
per codice di uscita diverso da zero ErrorRecord (#16108) (grazie @rkeithhill!))
Miglioramenti della sessione e dell'accesso remoto
- Aggiungere
-Options
ai comandi PSRP tramite SSH per consentire il passaggio diretto delle opzioni OpenSSH (#12802) (grazie)@BrannenGH!) - Aggiungere il parametro
-ConfigurationFile
apwsh
per consentire l'avvio di un nuovo processo con la configurazione di sessione definita in un file.pssc
(#17447) - Aggiungere il supporto per l'uso
New-PSSessionConfigurationFile
su piattaforme non Windows (#17447)
Aggiornamento dei cmdlet:
- Aggiungere
-HttpVersion
il parametro ai cmdlet Web (#15853) (grazie)@hayhay27!) - Aggiunta del supporto ai cmdlet Web per i tag di input aperti (#16193) (grazie)@farmerau!)
- Correzione
ConvertTo-Json -Depth
per consentire 100 al massimo (#16197) (grazie)@KevRitchie!) - Migliorare la gestione delle variabili quando si chiama
Invoke-Command
con l'espressione$Using:
(#16113) (grazie)@dwtaber!) - Aggiungi
-StrictMode
aInvoke-Command
per consentire di specificare la modalità strict quando si richiama il comando in locale (#16545) (grazie) @Thomas-Yu!) - Aggiungere il blocco
clean
al blocco di script come peer abegin
,process
, eend
per consentire una pulizia semplice delle risorse (#15177) - Aggiungi l'opzione
-Amended
al cmdletGet-CimClass
(#17477) (grazie @iSazonov)) - Cambiato
ConvertFrom-Json -AsHashtable
per utilizzare la tabella hash ordinata (#17405) - Rimozione delle sequenze di escape ANSI nelle stringhe prima dell'invio a
Out-GridView
(#17664) - Aggiunto il parametro Milliseconds a
New-TimeSpan
(#17621) (grazie @NoMoreFood!)) - Mostra parametri facoltativi durante la visualizzazione di overload e definizioni di metodo (#13799) (grazie)@eugenesmlv!)
- Consenti l'esecuzione dei comandi anche se la directory di lavoro corrente non esiste più (#17579)
- Aggiunta del supporto per HTTPS con
Set-AuthenticodeSignature -TimeStampServer
(#16134) (grazie)@Ryan-Hutchison-USAF!) - Rendere i numeri decimali in una tabella usando la cultura locale corrente (#17650)
- Aggiunta dell'acceleratore di tipi ordinato per OrderedDictionary (#17804) (grazie)@fflaten!)
- Aggiungere
find.exe
al comportamento di associazione di argomenti legacy per Windows (#17715) - Aggiungere
-NoProfileLoadTime
interruttore a pwsh (#17535) (grazie @rkeithhill!))
Per un elenco completo delle modifiche, vedere Log delle modifiche nel repository GitHub.
Funzionalità sperimentali
In PowerShell 7.3, le funzionalità sperimentali seguenti sono diventate mainstream:
PSAnsiRenderingFileInfo
- Questa funzionalità aggiunge il membro$PSStyle.FileInfo
e abilita la colorazione di tipi di file specifici.PSCleanBlock
- Aggiunge il bloccoclean
al blocco di script come pari abegin
,process
eend
per semplificare la pulizia delle risorse.PSAMSIMethodInvocationLogging
- Estende i dati inviati ad AMSI per l'ispezione in modo da includere tutte le chiamate dei membri del metodo .NET.PSNativeCommandArgumentPassing : PowerShell usa ora la proprietà ArgumentList dell'oggetto StartProcessInfo anziché il meccanismo precedente di ricostruire una stringa quando si richiama un eseguibile nativo.
PowerShell 7.3.1 aggiunge
sqlcmd.exe
all'elenco di comandi nativi in Windows che usano lo stile di passaggio dell'argomentoLegacy
.PSExec
- Aggiunge il nuovoSwitch-Process
cmdlet (aliasexec
) per garantireexec
la compatibilità per i sistemi non Windows.PowerShell 7.3.1 ha modificato l'alias in una funzione che esegue l'incapsulamento di
exec
conSwitch-Process
. La funzione consente di passare parametri al comando nativo che potrebbe essere stato erroneamente associato al parametro WithCommand.
PowerShell 7.3 introduce le funzionalità sperimentali seguenti:
-
PSNativeCommandErrorActionPreference : aggiunge la
$PSNativeCommandUseErrorActionPreference
variabile per abilitare gli errori generati da comandi nativi come errori di PowerShell.
PowerShell 7.3 ha rimosso le funzionalità sperimentali seguenti:
-
PSNativePSPathResolution
la funzionalità sperimentale non è più supportata. -
PSStrictModeAssignment
la funzionalità sperimentale non è più supportata.
Per altre informazioni sulle funzionalità sperimentali, vedere Uso delle funzionalità sperimentali.