Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
PowerShell Core 6.2-versionen fokuserade på prestandaförbättringar, felkorrigeringar och mindre cmdletar och språkförbättringar som förbättrar kvaliteten. Om du vill se en fullständig lista över förbättringar kan du läsa våra detaljerade ändringsloggar på GitHub.
Experimentella funktioner
Tidigare har vi aktiverat stöd för experimentella funktioner. I 6.2-versionen har vi fyra experimentella funktioner att testa. Ge feedback så att vi kan göra förbättringar och avgöra om funktionen är värd att främja till mainstream-status.
Använd Get-ExperimentalFeature för att hämta en lista över tillgängliga experimentella funktioner. Du kan aktivera eller inaktivera dessa funktioner med Enable-ExperimentalFeature och Disable-ExperimentalFeature.
Kommandot hittade inte förslag
Den här funktionen använder fuzzy-matchning för att hitta förslag på kommandon eller cmdletar som du kanske har feltypat.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Exempel
I det här exemplet är det felstavade cmdletnamnet fuzzy matchat med flera förslag från mest sannolikt till minst troligt.
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.
Implicit fjärrkommunikation batchbearbetning
När du använder implicit fjärrkommunikation i en pipeline behandlar PowerShell varje kommando i pipelinen oberoende av varandra. Objekt serialiseras upprepade gånger och de-serialized mellan klienten och fjärrsystemet över körningen av pipelinen.
Med den här funktionen analyserar PowerShell pipelinen för att avgöra om kommandot är säkert att köra och om det finns i målsystemet. När det är sant kör PowerShell hela pipelinen via fjärranslutning och serialiserar bara och de-serializes resultaten tillbaka till klienten.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Ett verkligt test av Get-Process | Sort-Object över localhost minskar från 10–15 sekunder till 20–30 millisekunder. Funktionen behöver bara aktiveras på klienten. Inga ändringar krävs på servern.
Temporär enhet
Enable-ExperimentalFeature -Name PSTempDrive
Om du använder PowerShell Core på olika operativsystem upptäcker du att miljövariabeln för att hitta den tillfälliga katalogen skiljer sig från Windows, macOS och Linux! Med den här funktionen får du ett PSDrive-namnTemp: som automatiskt mappas till den tillfälliga mappen för det operativsystem som du använder.
Exempel
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Tänk på att inbyggda filkommandon (som ls i Linux) inte är medvetna om PSDrives och inte ser den här Temp: enheten.
Förkortningsexpansion
PowerShell-cmdletar förväntas ha beskrivande substantiv. Detta resulterar i långa namn som är svårare att skriva. Med den här funktionen kan du bara skriva versaler i cmdleten och använda tab-completion för att hitta en matchning.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Exempel
PS> i-arsavsf
Om du trycker på fliken och har Azure PowerShell Az-modulen installerad kompletteras den automatiskt till:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Anteckning
Den här funktionen är avsedd att användas interaktivt. Förkortade former av cmdletar kan inte köras. Den här funktionen ersätter inte alias.
Icke-bakåtkompatibla ändringar
- Åtgärda
-NoEnumeratebeteendet iWrite-Outputför att vara konsekvent med Windows PowerShell. (#9069) - Gör
Join-String -InputObject 1,2,3resultatet lika med1,2,3 | Join-Stringresultatet (#8611) (Tack @sethvs!) - Lägg till
-StableSort-Objecti och relaterade tester (#7862) (tack @KirkMunro!) - Förbättra
Start-Sleepcmdleten för att acceptera bråkdels sekunder (#8537) (tack @Prototyyppi!) - Ändra hashtable för att använda OrdinalIgnoreCase för att finnas
case-insensitivei alla kulturer (#8566) - Åtgärda LiteralPath för
Import-Csvatt binda tillGet-ChildItemutdata (#8277) (tack @iSazonov!) - Hoppar inte längre över en kolumn utan namn om avgränsare för dubbla citattecken används i
Import-Csv(#7899) (Tack @Topping!) -
Get-ExperimentalFeaturehar-ListAvailableinte längre växel (#8318) - Felsökningsparametern ställer nu in
$DebugPreferencepå Fortsätt i stället för Fråga (#8195) (Tack @KirkMunro!) - Respektera
-OutputFormatom det anges i ett icke-interaktivt, omdirigerat, kodat kommando som används med pwsh (#8115) - Läs in sammansättning från modulbassökvägen innan du försöker läsa in från GAC (#8073)
- Ta bort tilde från förhandsversionspaket för Linux (#8244)
- Flytta bearbetning av
-WorkingDirectoryföre bearbetning av profiler (#8079) - Lägg inte till
PATHEXTmiljövariabel i Unix (#7697) (tack @iSazonov!)
Kända problem
- Fjärrkommunikation på Windows IOT ARM-plattformar har problem med att läsa in moduler. Se (#8053)
Allmänna Uppdateringar och korrigeringar
- Aktivera skiftlägesokänslig tabbar för filer och mappar i skiftlägeskänsligt filsystem (#8128)
- Gör PSVersionInfo.PSVersion och PSVersionInfo.PSEdition offentliga (#8054) (tack @KirkMunro!)
- Lägg till typinferens för
$_/$PSItemicatch{ }block (#8020) (tack @vexx32!) - Åtgärda inferens för statisk metodanropstyp (#8018) (tack @SeeminglyScience!)
- Skapa härledda typerna för
Select-Object,Group-ObjectPSObject och Hashtable (#7231) (Tack@powercode!) - Stöd för anropsmetod med
ByRef-liketypparametrar (#7721) - Hantera det fall där Windows PowerShell modulsökvägen redan finns i miljöns PSModulePath (#7727)
- Aktivera
SecureStringcmdletar för icke-Windows genom att lagra oformaterad text (#9199) - Förbättra felmeddelandet i icke-Windows när du importerar clixml med securestring (#7997)
- Lägga till parametern ReplyTo till
Send-MailMessage(#8727) (tack @replicaJunction!) - Lägg till föråldrat meddelande i
Send-MailMessage(#9178) - Korrigering
Restart-Computeratt arbeta medlocalhostnär WinRM inte finns (#9160) - Fel
Start-Jobvid utlösen när PowerShell körs (#9128) - Lägg till C#-stilacceleratorer och suffix för ushort, uint, ulong och korta literaler (#7813) (Tack @vexx32!)
- Nya suffix har lagts till för numeriska literaler – se about_Numeric_Literals (#7901) (Tack @vexx32!)
- Rapportera effektnivån korrekt när SupportsShouldProcess inte är inställt på "true" (#8209) (tack @vexx32!)
- Åtgärda problem med begärandekoduppsättningar i webb-cmdletar (#8742) (tack @markekraus!)
- Åtgärda expect-problem
100-continuemed webb-cmdletar (#8679) (tack @markekraus!) - Åtgärda filblockeringsproblem med webb-cmdletar (#7676) (tack @Claustn!)
- Åtgärda problem med parsning av kodsidor i
Invoke-RestMethod(#8694) (tack @markekraus!) -
ConvertTo-JsonOmstrukturera för att exponera JsonObject.ConvertToJson som ett offentligt API (#8682) - Lägg till konfigurerbart maximalt djup i
ConvertFrom-Jsonmed -Depth (#8199) (Tack @louistio!) - Lägg till EscapeHandling-parameter i
ConvertTo-Jsoncmdlet (#7775) (tack @iSazonov!) - Lägg till
-CustomPipeNamei pwsh ochEnter-PSHostProcess(#8889) - Aktivera skapandet av relativa symboliska länkar i Windows med
New-Item(#8783) - Tillåt Windows-användare i utvecklarläge att skapa symlinks utan utökade privilegier (#8534)
- Aktivera
Write-Informationför att acceptera$null(#8774) - Korrigering
Get-Helpför avancerade funktioner med MAML-hjälpinnehåll (#8353) - Åtgärda
Get-HelpPSTypeName-problem med -Parameter när endast en parameter deklareras (#8754) (tack @pougetat!) - Tokenberäkningskorrigering för
Get-Helpkörs på ScriptBlock för kommentarshjälp. (#8238) (Tack @hubuk!) - Ändra
Get-Helpcmdlet –Parameterparameter så att den accepterar strängmatriser (#8454) (tack @sethvs!) - Lös PAGER om sökvägen innehåller blanksteg (#8571) (tack @pougetat!)
- Lägg till en uppmaning om att använda
lessi funktionen "hjälp" för att instruera användaren att avsluta (#7998) - Lägg till stöduppräknings- och teckentyper i
Format-Hexcmdlet (#8191) (Tack @iSazonov!) - Ta bort ShouldProcess från
Format-Hex(#8178) - Lägg till nya parametrar för offset och antal i
Format-Hexoch omstrukturera cmdleten (#7877) (tack @iSazonov!) - Tillåt "namn" som en aliasnyckel för "etikett" i
ConvertTo-Html, tillåt att "bredd"-posten är ett heltal (#8426) (Tack @mklement0!) - Få skriptblocksbaserade beräknade egenskaper att fungera igen i
ConvertTo-Html(#8427) (Tack @mklement0!) - Lägg till cmdlet
Join-Stringför att skapa text från pipelineindata (#7660) (tack @powercode!) - Åtgärda
Join-Stringparameterlogik för cmdleten FormatString (#8449) (tack @sethvs!) - Gå
Clear-Hosttillbaka till att använda$RAWUIoch rensa för att arbeta över fjärrkommunikation (#8609) - Ändra
Clear-Hosttill att helt enkelt anropa[console]::clearoch ta bort ett tydligt alias från Unix (#8603) - Åtgärda LiteralPath för
Import-Csvatt binda tillGet-ChildItemutdata (#8277) (tack @iSazonov!) - hjälpfunktionen bör inte använda pager för AliasHelpInfo (#8552)
- Lägg till
-UseMinimalHeaderStart-Transcriptför att minimera avskriftshuvudet (#8402) (tack @lukexjeremy!) - Lägg till
Enable-ExperimentalFeatureochDisable-ExperimentalFeaturecmdletar (#8318) - Exponera alla cmdletar från PSDiagnostics om logman.exe är tillgänglig (#8366)
- Ta bort persist-parametern från
New-PSDriveplattformennon-Windows(#8291) (tack @lukexjeremy!) - Lägg till stöd för
cd +(#7206) (Tack @bergmeister!) - Aktivera
Set-Location -LiteralPathför att arbeta med mappar med namnet - och + (#8089) -
Test-Pathreturnerar$falsenär du får ett tomt värde eller$nullsökvägsvärde (#8080) (tack @vexx32!) - Tillåt att dynamisk parameter returneras även om sökvägen inte matchar någon provider (#7957)
- Stöd
Get-PSHostProcessInfoochEnter-PSHostProcesspå Unix-plattformar (#8232) - Minska allokeringar i
Get-Contentcmdlet (#8103) (tack @iSazonov!) - Aktivera
Add-Contentför att dela läsåtkomst med andra verktyg när du skriver innehåll (#8091) -
Get/Add-Contentgenererar ett förbättrat fel när du riktar in dig på en container (#7823) (tack @kvprasoon!) - Lägg till
-Nameparametrarna-NoUserOverridesoch-ListAvailableiGet-Culturecmdleten (#7702) (tack @iSazonov!) - Lägg till enhetligt attribut för slutförande för kodningsparametern . (#7732) (Tack @ThreeFive-O!)
- Tillåt numeriska ID:n och namnet på registrerade kodsidor i kodningsparametrar (#7636) (tack@iSazonov!)
- Korrigering
Rename-Item -Pathmed jokertecken (#7398) (tack @kwkam!) - När du använder
Start-Transcriptoch filen finns, tom fil i stället för att ta bort (#8131) (Tack @paalbra!) - Gör
Add-Typeöppen källkod filer med FileAccess.Read och FileShare.Read explicit (#7915) (tack@IISResetMe!) - Korrigering
Enter-PSSession -ContainerIdför senaste Windows (#7883) - Kontrollera att egenskapen NestedModules fylls i av
Test-ModuleManifest(#7859) - Lägg till
%Färende iGet-Date-UFormat (#7630) (tack @britishben!) - Korrigering
Set-Service -Status Stoppedför att stoppa tjänster med beroenden (#5525) (tack @zhenggu!)