Delen via


Nieuw in PowerShell Core 6.2

De PowerShell Core 6.2-release is gericht op prestatieverbeteringen, oplossingen voor fouten en kleinere cmdlet- en taalverbeteringen die de kwaliteit verbeteren. Bekijk onze gedetailleerde wijzigingenlogboeken op GitHub voor een volledige lijst met verbeteringen.

Experimentele functies

Eerder hebben we ondersteuning ingeschakeld voor experimentele functies. In de versie 6.2 hebben we vier experimentele functies om uit te proberen. Geef feedback zodat we verbeteringen kunnen aanbrengen en kunnen bepalen of de functie de moeite waard is om te promoveren naar de basisstatus.

Gebruik Get-ExperimentalFeature om een lijst met beschikbare experimentele functies op te halen. U kunt deze functies in- of uitschakelen met Enable-ExperimentalFeature en Disable-ExperimentalFeature.

Suggesties voor opdracht niet gevonden

Deze functie maakt gebruik van fuzzy overeenkomsten om suggesties te vinden voor opdrachten of cmdlets die u mogelijk verkeerd hebt getypt.

Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion

Voorbeeld

In dit voorbeeld is de naam van de verkeerd gespelde cmdlet fuzzy vergeleken met verschillende suggesties van zeer waarschijnlijk tot minst waarschijnlijk.

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.

Impliciete externe batchverwerking

Wanneer u impliciete externe communicatie in een pijplijn gebruikt, behandelt PowerShell elke opdracht in de pijplijn onafhankelijk. Objecten worden herhaaldelijk geserialiseerd en de-serialized tussen de client en het externe systeem tijdens de uitvoering van de pijplijn.

Met deze functie analyseert PowerShell de pijplijn om te bepalen of de opdracht veilig kan worden uitgevoerd en op het doelsysteem aanwezig is. Als waar is, voert PowerShell de hele pijplijn op afstand uit en worden de resultaten alleen naar de client geserialiseerd.de-serializes

Enable-ExperimentalFeature -Name PSImplicitRemotingBatching

Een echte test van Get-Process | Sort-Object over localhost neemt af van 10-15 seconden tot 20-30 milliseconden. De functie hoeft alleen op de client te zijn ingeschakeld. Er zijn geen wijzigingen vereist op de server.

Tijdelijke schijf

Enable-ExperimentalFeature -Name PSTempDrive

Als u PowerShell Core op verschillende besturingssystemen gebruikt, zult u ontdekken dat de omgevingsvariabele voor het vinden van de tijdelijke map anders is in Windows, macOS en Linux. Met deze functie krijgt u een PSDrive met de naam Temp: die automatisch wordt toegewezen aan de tijdelijke map voor het besturingssysteem dat u gebruikt.

Voorbeeld

PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!

Houd er rekening mee dat systeemeigen bestandsopdrachten (zoals ls op Linux) niet op de hoogte zijn van PSDrives en dit Temp: station niet zien.

Uitbreiding van afkorting

PowerShell-cmdlets hebben naar verwachting beschrijvende zelfstandige naamwoorden. Dit resulteert in lange namen die moeilijker te typen zijn. Met deze functie kunt u alleen de hoofdletters van de cmdlet typen en tabvoltooiing gebruiken om een overeenkomst te vinden.

Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion

Voorbeeld

PS> i-arsavsf

Als u op Tab klikt en de Azure PowerShell Az-module hebt geïnstalleerd, wordt deze automatisch aangevuld met:

PS> Import-AzRecoveryServicesAsrVaultSettingsFile

Notitie

Deze functie is bedoeld om interactief te worden gebruikt. Verkorte vormen van cmdlets kunnen niet worden uitgevoerd. Deze functie is geen vervanging voor aliassen.

Wijzigingen die fouten veroorzaken

  • Herstel -NoEnumerate het gedrag in Write-Output om consistent te zijn met Windows PowerShell. (#9069)
  • Maak Join-String -InputObject 1,2,3 resultaat gelijk aan 1,2,3 | Join-String resultaat (#8611) (Bedankt @sethvs!)
  • Toevoegen -Stable aan Sort-Object en gerelateerde tests (#7862) (Bedankt @KirkMunro!)
  • Cmdlet verbeteren Start-Sleep om fractionele seconden te accepteren (#8537) (bedankt @Prototyyppi!)
  • Wijzig hashtable om OrdinalIgnoreCase te case-insensitive gebruiken in alle culturen (#8566)
  • Fix LiteralPath in Import-Csv om te binden aan Get-ChildItem uitvoer (#8277) (bedankt @iSazonov!)
  • Een kolom zonder naam wordt niet meer overgeslagen als er een dubbel scheidingsteken voor aanhalingstekens wordt gebruikt in Import-Csv (#7899) (bedankt @Topping!)
  • Get-ExperimentalFeature heeft -ListAvailable geen switch meer (#8318)
  • De parameter Foutopsporing wordt nu ingesteld $DebugPreference op Doorgaan in plaats van Opvragen (#8195) (Bedankt @KirkMunro!)
  • Honor indien -OutputFormat opgegeven in niet-interactieve, omgeleide, gecodeerde opdracht die wordt gebruikt met pwsh (#8115)
  • Laad de assembly uit het basispad van de module voordat u probeert te laden vanuit de GAC (#8073)
  • Tilde verwijderen uit Linux Preview-pakketten (#8244)
  • Verwerking van verplaatsen van -WorkingDirectory vóór verwerking van profielen (#8079)
  • Voeg geen omgevingsvariabele toe PATHEXT op Unix (#7697) (bedankt @iSazonov!)

Bekende problemen

  • Externe communicatie op Windows IOT ARM-platforms heeft een probleem met het laden van modules. Zie (#8053)

Algemene Updates en oplossingen

  • Niet-hoofdlettergevoelige tabvoltooiing inschakelen voor bestanden en mappen op hoofdlettergevoelig bestandssysteem (#8128)
  • Maak PSVersionInfo.PSVersion en PSVersionInfo.PSEdition openbaar (#8054) (bedankt @KirkMunro!)
  • Type deductie toevoegen voor $_ / $PSItem in catch{ } blokken (#8020) (bedankt @vexx32!)
  • Fix static method invocation type deductie (#8018) (Bedankt @SeeminglyScience!)
  • Creatie afgeleide typen voor Select-Object, Group-Object, PSObject en Hashtable (#7231) (bedankt@powercode!)
  • Ondersteuning voor aanroepmethode met ByRef-like typeparameters (#7721)
  • Het geval afhandelen waarbij het pad van de Windows PowerShell module zich al in het PSModulePath van de omgeving bevindt (#7727)
  • Cmdlets inschakelen SecureString voor niet-Windows door de tekst zonder opmaak op te slaan (#9199)
  • Foutbericht in niet-Windows verbeteren bij het importeren van clixml met securestring (#7997)
  • Parameter ReplyTo toevoegen aan Send-MailMessage (#8727) (bedankt @replicaJunction!)
  • Verouderd bericht toevoegen aan Send-MailMessage (#9178)
  • Oplossing Restart-Computer voor werken wanneer localhost WinRM niet aanwezig is (#9160)
  • Fout Start-Job bij het genereren van een afsluitfout maken wanneer PowerShell wordt gehost (#9128)
  • Voeg C#-stijltypeversnellers en achtervoegsels toe voor ushort, uint, ulong en korte letterlijke waarden (#7813) (bedankt @vexx32!)
  • Nieuwe achtervoegsels toegevoegd voor numerieke letterlijke waarden - zie about_Numeric_Literals (#7901) (bedankt) @vexx32!)
  • Impactniveau correct rapporteren wanneer SupportsShouldProcess niet is ingesteld op 'true' (#8209) (bedankt @vexx32!)
  • Problemen met aanvraagtekenset in web-cmdlets (#8742) oplossen (bedankt) @markekraus!)
  • Probleem met web-cmdlets 100-continue (#8679) oplossen (bedankt) @markekraus!)
  • Probleem met het blokkeren van bestanden met web-cmdlets (#7676) oplossen (bedankt) @Claustn!)
  • Probleem met het parseren van codepagina's in Invoke-RestMethod (#8694) oplossen (bedankt) @markekraus!)
  • Herstructureren ConvertTo-Json om JsonObject.ConvertToJson beschikbaar te maken als een openbare API (#8682)
  • Configureerbare maximale diepte in ConvertFrom-Json met -Depth (#8199) (bedankt @louistio!)
  • Parameter EscapeHandling toevoegen in ConvertTo-Json cmdlet (#7775) (bedankt @iSazonov!)
  • Toevoegen -CustomPipeName aan pwsh en Enter-PSHostProcess (#8889)
  • Het maken van relatieve symbolische koppelingen in Windows inschakelen met New-Item (#8783)
  • Windows-gebruikers in de ontwikkelaarsmodus toestaan om symlinks te maken zonder benodigde bevoegdheden (#8534)
  • Accepteren inschakelen Write-Information$null (#8774)
  • Oplossing Get-Help voor geavanceerde functies met MAML-help-inhoud (#8353)
  • PsTypeName-probleem Get-Help met -Parameter opgelost wanneer slechts één parameter is gedeclareerd (#8754) (bedankt @pougetat!)
  • Oplossing voor tokenberekening voor Get-Help uitgevoerd op ScriptBlock voor hulp bij opmerkingen. (#8238) (Bedankt @hubuk!)
  • Wijzig Get-Help de cmdlet -Parameter parameter zodat deze tekenreeksmatrices accepteert (#8454) (bedankt @sethvs!)
  • PAGER oplossen als het pad spaties bevat (#8571) (bedankt @pougetat!)
  • Prompt toevoegen voor het gebruik van less in de functie 'help' om de gebruiker te instrueren hoe deze moet worden afgesloten (#7998)
  • Ondersteunings- enum- en tekentypen toevoegen in Format-Hex cmdlet (#8191) (bedankt @iSazonov!)
  • ShouldProcess verwijderen uit Format-Hex (#8178)
  • Nieuwe parameters Offset en Count toevoegen aan Format-Hex en de cmdlet herstructureren (#7877) (bedankt @iSazonov!)
  • Sta 'name' toe als aliassleutel voor 'label' in ConvertTo-Html, sta de vermelding 'width' toe als geheel getal (#8426) (bedankt @mklement0!)
  • Laat berekende eigenschappen op basis van scriptblock weer werken in ConvertTo-Html (#8427) (Bedankt @mklement0!)
  • Cmdlet Join-String toevoegen voor het maken van tekst op basis van pijplijninvoer (#7660) (bedankt @powercode!)
  • Fix Join-String cmdlet FormatString parameter logic (#8449) (bedankt @sethvs!)
  • Ga Clear-Host terug naar gebruiken $RAWUI en wissen om te werken met externe communicatie (#8609)
  • Wijzig Clear-Host in gewoon aanroepen [console]::clear en verwijder clear alias uit Unix (#8603)
  • Fix LiteralPath in Import-Csv om te binden aan Get-ChildItem uitvoer (#8277) (bedankt @iSazonov!)
  • help-functie mag geen pager gebruiken voor AliasHelpInfo (#8552)
  • Voeg toe -UseMinimalHeader aan Start-Transcript om transcriptheader (#8402) te minimaliseren (bedankt) @lukexjeremy!)
  • Cmdlets en Disable-ExperimentalFeature toevoegen Enable-ExperimentalFeature (#8318)
  • Alle cmdlets van PSDiagnostics weergeven als logman.exe beschikbaar is (#8366)
  • Verwijder de parameter Persistent van New-PSDrive het non-Windows platform (#8291) (bedankt @lukexjeremy!)
  • Ondersteuning toevoegen voor cd + (#7206) (Bedankt @bergmeister!)
  • Inschakelen Set-Location -LiteralPath om te werken met mappen met de naam - en + (#8089)
  • Test-Path retourneert $false wanneer een lege waarde of $null padwaarde (#8080) wordt gegeven (bedankt) @vexx32!)
  • Toestaan dat dynamische parameter wordt geretourneerd, zelfs als het pad niet overeenkomt met een provider (#7957)
  • Ondersteuning Get-PSHostProcessInfo en Enter-PSHostProcess op Unix-platforms (#8232)
  • Toewijzingen verminderen in Get-Content cmdlet (#8103) (bedankt @iSazonov!)
  • Leestoegang delen met andere hulpprogramma's tijdens het schrijven van inhoud inschakelen Add-Content (#8091)
  • Get/Add-Content genereert verbeterde fout bij het targeten van een container (#7823) (bedankt @kvprasoon!)
  • Parameters en -NoUserOverrides-ListAvailable toevoegen -Nameaan Get-Culture cmdlet (#7702) (Bedankt@iSazonov!)
  • Voeg een uniform kenmerk toe voor voltooiing van de parameter Encoding . (#7732) (Bedankt @ThreeFive-O!)
  • Numerieke id's en de naam van geregistreerde codepagina's toestaan in coderingsparameters (#7636) (bedankt) @iSazonov!)
  • Oplossing Rename-Item -Path met jokerteken (#7398) (Bedankt @kwkam!)
  • Wanneer het Start-Transcript bestand en het bestand bestaat, leeg bestand in plaats van te verwijderen (#8131) (Bedankt @paalbra!)
  • Maak Add-Type open source bestanden expliciet met FileAccess.Read en FileShare.Read (#7915) (Bedankt)@IISResetMe!)
  • Oplossing Enter-PSSession -ContainerId voor de nieuwste Versie van Windows (#7883)
  • Zorg ervoor dat de eigenschap NestedModules wordt ingevuld door Test-ModuleManifest (#7859)
  • Hoofdlettergebruik toevoegen %F aan Get-Date -UFormat (#7630) (Bedankt @britishben!)
  • Oplossing Set-Service -Status Stopped voor het stoppen van services met afhankelijkheden (#5525) (bedankt @zhenggu!)