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.
La versione PowerShell Core 6.2 si è concentrata su miglioramenti delle prestazioni, correzioni di bug e miglioramenti più piccoli di cmdlet e linguaggio che migliorano la qualità. Per vedere l'elenco completo dei miglioramenti, consulta i nostri dettagliati changelog su GitHub.
Funzionalità sperimentali
In precedenza, attivavamo il supporto per le Funzionalità Sperimentali. Nella versione 6.2, abbiamo quattro funzionalità sperimentali da provare. Per favore, fornisci un feedback affinché possiamo apportare miglioramenti e decidere se la funzione merita di essere promossa a uno status mainstream.
Usalo Get-ExperimentalFeature per ottenere un elenco delle funzionalità sperimentali disponibili. Puoi abilitare o disabilitare queste funzionalità con Enable-ExperimentalFeature e Disable-ExperimentalFeature.
Suggerimenti di comando non trovato
Questa funzione utilizza il fuzzy matching per trovare suggerimenti su comandi o cmdlet che potresti aver digitato male.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Example
In questo esempio, il nome cmdlet scritto male è corrispondente in modo sfocato a diverse proposte da più probabili a meno probabili.
Get-Commnd
Get-Commnd : The term 'Get-Commnd' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At line:1 char:1
+ Get-Commnd
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Commnd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [4,General]: The most similar commands are: Get-Command, Get-Content, Get-Job, Get-Module,
Get-Event, Get-Host, Get-Member, Get-Item, Set-Content.
Lottaggio Implicito a Distanza
Quando si utilizza il remot implicito in una pipeline, PowerShell tratta ogni comando nella pipeline in modo indipendente. Gli oggetti vengono ripetutamente serializzati e de-serialized collegati tra il client e il sistema remoto durante l'esecuzione della pipeline.
Con questa caratteristica, PowerShell analizza la pipeline per determinare se il comando è sicuro da eseguire e se esiste sul sistema target. Quando è vero, PowerShell esegue l'intera pipeline da remoto e solo serializza i risultati de-serializes e i risultati vengono restituiti al client.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Un test reale di Get-Process | Sort-Object over localhost diminuisce da 10-15 secondi a 20-30 millisecondi. La funzione deve essere abilitata solo sul client. Non sono necessarie modifiche sul server.
Variazione temporanea
Enable-ExperimentalFeature -Name PSTempDrive
Se usi PowerShell Core su diversi sistemi operativi, scoprirai che la variabile di ambiente per trovare la directory temporanea è diversa su Windows, macOS e Linux! Con questa funzione, ottieni una chiamata Temp:PSDrive che viene automaticamente mappata alla cartella temporanea del sistema operativo che stai usando.
Example
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Tieni presente che i comandi file nativi (come ls su Linux) non sono a conoscenza di PSDrives e non vedranno questo Temp: disco.
Espansione delle abbreviazioni
I cmdlet PowerShell dovrebbero avere sostantivi descrittivi. Questo porta a nomi lunghi e più difficili da digitare. Questa funzione ti permette semplicemente di digitare i caratteri maiuscoli del cmdlet e usare il completamento tab per trovare una corrispondenza.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Example
PS> i-arsavsf
Se premi tab e hai installato il modulo Azure PowerShell Az , si completerà automaticamente per:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Annotazioni
Questa funzione è pensata per essere utilizzata in modo interattivo. Le forme abbreviate dei cmdlet non possono essere eseguite. Questa funzione non sostituisce gli alias.
Modifiche che interrompono la compatibilità
- Correggi
-NoEnumerateil comportamento inWrite-Outputmodo che sia coerente con Windows PowerShell. (#9069) - Fai in modo
Join-String -InputObject 1,2,3che il risultato sia uguale al1,2,3 | Join-Stringrisultato (#8611) (Grazie @sethvs!) - Aggiungi
-StableSort-Objecta e test correlati (#7862) (Grazie @KirkMunro!) - Migliorare
Start-Sleepil cmdlet per accettare frazioni di secondo (#8537) (Grazie @Prototyyppi!) - Modifica l'hashtable per usare OrdinalIgnoreCase in
case-insensitivetutte le culture (#8566) - Correggi LiteralPath in
Import-Csvper associare all'outputGet-ChildItem(#8277) (Grazie @iSazonov!) - Non salta più una colonna senza nome se viene usato il delimitatore a doppia virgoletta in
Import-Csv(#7899) (Grazie @Topping!) -
Get-ExperimentalFeatureNon ha-ListAvailablepiù switch (#8318) - Il parametro di debug ora viene impostato
$DebugPreferencesu Continua invece che su Inquire (#8195) (Grazie @KirkMunro!) - Honor
-OutputFormatse specificato in un comando non interattivo, reindirizzato, codificato usato con pwsh (#8115) - Carica l'assemblaggio dal percorso della base del modulo prima di provare a caricare dal GAC (#8073)
- Rimuovere tilde dai pacchetti di anteprima Linux (#8244)
- Sposta l'elaborazione di
-WorkingDirectoryprima dell'elaborazione dei profili (#8079) - Non aggiungere
PATHEXTvariabile di ambiente su Unix (#7697) (Grazie @iSazonov!)
Problemi noti
- Il remoting sulle piattaforme Windows IOT ARM ha un problema nel caricare i moduli. Vedi (#8053)
Aggiornamenti generali e correzioni
- Abilita il completamento delle schede insensibili a maiuscole per file e cartelle nel filesystem con sensibilità a maiuscole e minuscole (#8128)
- Rendere pubblici PSVersionInfo.PSVersion e PSVersionInfo.PSEdition (#8054) (Grazie @KirkMunro!)
- Inferenza del tipo di aggiunta per
$_/$PSItemincatch{ }blocchi (#8020) (Grazie @vexx32!) - Correggi l'inferenza statica di invocazione del metodo (#8018) (Grazie @SeeminglyScience!)
- Crea tipi inferiti per
Select-Object,Group-Object, PSObject e Hashtable (#7231) (Grazie@powercode!) - Supporto chiamata metodo con
ByRef-likeparametri di tipo (#7721) - Gestire il caso in cui il percorso del modulo PowerShell di Windows è già nel PSModulePath dell'ambiente (#7727)
- Abilita
SecureStringi cmdlet per non-Windows memorizzando il testo semplice (#9199) - Messaggio di errore migliorato su non-Windows quando importi clixml con securestring (#7997)
- Aggiungo il parametro ReplyTo a
Send-MailMessage(#8727) (Grazie @replicaJunction!) - Aggiungi messaggio Obsoleto a
Send-MailMessage(#9178) - Correzione
Restart-Computerda risolverelocalhostquando WinRM non è presente (#9160) - Errore di
Start-Jobterminazione throw quando PowerShell è ospitato (#9128) - Aggiungi acceleratori e suffissi in stile C# per ushort, uint, ulong e short letterali (#7813) (Grazie @vexx32!)
- Aggiunti nuovi suffissi per i letterali numerici - vedi about_Numeric_Literals (#7901) (Grazie @vexx32!)
- Segnala correttamente il livello di impatto quando SupportsShouldProcess non è impostato su 'true' (#8209) (Grazie @vexx32!)
- Problemi di Fix Request Charset nei Web Cmdlet (#8742) (Grazie @markekraus!)
- Risolvi il problema con
100-continuei Web Cmdlets (#8679) (Grazie @markekraus!) - Risolvi il problema di blocco file con i web cmdlet (#7676) (Grazie @Claustn!)
- Corregge il problema di parsing della code page in
Invoke-RestMethod(#8694) (Grazie @markekraus!) - Refactoring
ConvertTo-Jsonper esporre JsonObject.ConvertToJson come API pubblica (#8682) - Aggiungi la profondità
ConvertFrom-Jsonmassima configurabile con -Depth (#8199) (Grazie @louistio!) - Aggiungi il parametro EscapeHandling nel
ConvertTo-Jsoncmdlet (#7775) (Grazie @iSazonov!) - Aggiungi
-CustomPipeNamea pwsh eEnter-PSHostProcess(#8889) - Abilita la creazione di collegamenti simbolici relativi su Windows con
New-Item(#8783) - Consentire agli utenti Windows in modalità sviluppatore di creare symlink senza elevazione (#8534)
- Abilita
Write-Informationl'accettazione$null(#8774) - Correzione
Get-Helpper funzioni avanzate con contenuti di aiuto MAML (#8353) - Correggi
Get-Helpil problema di PSTypeName con -Parameter quando viene dichiarato un solo parametro (#8754) (Grazie @pougetat!) - Correzione del calcolo dei token eseguita
Get-Helpsu ScriptBlock per l'aiuto nei commenti. (#8238) (Grazie @hubuk!) - Cambia
Get-Helpil parametro cmdlet -Parameter così accetta array di stringhe (#8454) (Grazie @sethvs!) - Risolvi il PAGER se il suo percorso contiene spazi (#8571) (Grazie @pougetat!)
- Aggiungi un prompt all'uso di
lessnella funzione 'help' per indicare all'utente come uscire (#7998) - Aggiungi tipi di support enum e char in
Format-Hexcmdlet (#8191) (Grazie @iSazonov!) - Rimuovere ShouldProcess da
Format-Hex(#8178) - Aggiungi nuovi parametri
Format-Hexdi Offset e Count e rifattorizza il cmdlet (#7877) (Grazie @iSazonov!) - Consenti 'name' come tasto alias per 'label' in
ConvertTo-Html, permette che la voce 'width' sia un intero (#8426) (Grazie @mklement0!) - Fai funzionare di nuovo le proprietà calcolate basate su blocchi di script in
ConvertTo-Html(#8427) (Grazie @mklement0!) - Aggiungi un cmdlet
Join-Stringper creare testo dall'input della pipeline (#7660) (Grazie @powercode!) - Fix
Join-Stringcmdlet FormatString parameter logic (#8449) (Grazie @sethvs!) - Torna
Clear-Hosta usare$RAWUIe liberare al lavoro tramite remoting (#8609) - Cambia
Clear-Hostin chiamata[console]::clearsemplice e rimuovi l'alias chiaro da Unix (#8603) - Correggi LiteralPath in
Import-Csvper associare all'outputGet-ChildItem(#8277) (Grazie @iSazonov!) - la funzione help non dovrebbe usare il cercapersone per AliasHelpInfo (#8552)
- Aggiungi
-UseMinimalHeadertoStart-Transcriptper minimizzare l'intestazione della trascrizione (#8402) (Grazie @lukexjeremy!) - Add
Enable-ExperimentalFeatureeDisable-ExperimentalFeaturecmdlets (#8318) - Esponi tutti i cmdlet di PSDiagnostics se logman.exe disponibile (#8366)
- Rimuovere il parametro Persist dalla
New-PSDrivenon-Windowspiattaforma (#8291) (Grazie @lukexjeremy!) - Aggiungi supporto per
cd +(#7206) (Grazie @bergmeister!) - Abilita
Set-Location -LiteralPathla funzione di lavoro con cartelle nominate - e + (#8089) -
Test-Pathreturns$falsequando viene fornito un valore vuoto o$nulldi percorso (#8080) (Grazie @vexx32!) - Consentire il ritorno di parametro dinamico anche se il percorso non corrisponde a nessun provider (#7957)
- Supporto
Get-PSHostProcessInfoeEnter-PSHostProcesssu piattaforme Unix (#8232) - Ridurre le allocazioni nel
Get-Contentcmdlet (#8103) (Grazie @iSazonov!) - Abilita
Add-Contentla condivisione dell'accesso alla lettura con altri strumenti durante la scrittura dei contenuti (#8091) -
Get/Add-Contentlancia errore migliorato quando mira a un contenitore (#7823) (Grazie @kvprasoon!) - Aggiungi
-Namei parametri e-ListAvailable-NoUserOverridesaGet-Culturecmdlet (#7702) (Grazie@iSazonov!) - Aggiungi un attributo unificato per il completamento del parametro di codifica . (#7732) (Grazie @ThreeFive-O!)
- Consentire ID numerici e nome delle code page registrate nei parametri di codifica (#7636) (Grazie @iSazonov!)
- Correzione
Rename-Item -Pathcon il personaggio jolly (#7398) (Grazie @kwkam!) - Quando si usa
Start-Transcriptun file, il file è vuoto invece di eliminarlo (#8131) (Grazie @paalbra!) - Crea
Add-Typefile open source con FileAccess.Read e FileShare.Read esplicitamente (#7915) (Grazie @IISResetMe!) - Correzione
Enter-PSSession -ContainerIdper l'ultima versione di Windows (#7883) - Assicurati che la proprietà NestedModules venga popolata da
Test-ModuleManifest(#7859) - Aggiungi
%Fla custodia allaGet-Date-UFormat (#7630) (Grazie @britishben!) - Fix
Set-Service -Status Stoppedto stop services with dependance (#5525) (Grazie @zhenggu!)