Megosztás a következőn keresztül:


A PowerShell Core 6.2 újdonságai

A PowerShell Core 6.2-es kiadása a teljesítmény javításaira, a hibajavításokra, valamint a kisebb parancsmagokra és a minőséget javító nyelvi fejlesztésekre összpontosított. A fejlesztések teljes listájának megtekintéséhez tekintse meg részletes változásnaplóinkat a GitHubon.

Kísérleti funkciók

Korábban engedélyeztük a kísérleti funkciók támogatását. A 6.2-es kiadásban négy kísérleti funkciót kell kipróbálnunk. Kérjük, adjon visszajelzést, hogy továbbfejleszthessük a funkciót, és eldönthessük, érdemes-e előléptetnünk az általános állapotot.

A használatával Get-ExperimentalFeature lekérheti az elérhető kísérleti funkciók listáját. Ezeket a funkciókat a és Disable-ExperimentalFeaturea Enable-ExperimentalFeature használatával engedélyezheti vagy tilthatja le.

A parancs nem található javaslatok

Ez a funkció intelligens egyezést használ a hibásan beírt parancsokra vagy parancsmagokra vonatkozó javaslatok megkereséséhez.

Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion

Példa

Ebben a példában a hibásan írt parancsmag neve elmosódott a legvalószínűbbtől a legkevésbé valószínűig számos javaslatig.

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 újraegyenlítési kötegelés

Amikor implicit újraegyenlítést használ egy folyamatban, a PowerShell egymástól függetlenül kezeli a folyamat összes parancsát. Az objektumok ismételt szerializálása és de-serialized az ügyfél és a távoli rendszer között a folyamat végrehajtása során.

Ezzel a funkcióval a PowerShell elemzi a folyamatot annak megállapításához, hogy a parancs biztonságosan futtatható-e, és létezik-e a célrendszeren. Ha igaz, a PowerShell távolról hajtja végre a teljes folyamatot, és csak szerializálja az de-serializes eredményeket az ügyfélnek.

Enable-ExperimentalFeature -Name PSImplicitRemotingBatching

A localhost feletti valós teszt Get-Process | Sort-Object 10-15 másodpercről 20-30 ezredmásodpercre csökken. A funkciót csak az ügyfélen kell engedélyezni. A kiszolgálón nincs szükség módosításokra.

Ideiglenes meghajtó

Enable-ExperimentalFeature -Name PSTempDrive

Ha a PowerShell Core-t különböző operációs rendszereken használja, felfedezheti, hogy az ideiglenes könyvtár megkeresésére szolgáló környezeti változó eltérő Windows, macOS és Linux rendszeren! Ezzel a funkcióval egy nevű Temp:PSDrive-ot kap, amely automatikusan a használt operációs rendszer ideiglenes mappájára van leképezve.

Példa

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

Vegye figyelembe, hogy a natív fájlparancsok (például ls Linuxon) nem ismerik a PSDrive-ot, és nem fogják látni ezt a Temp: meghajtót.

Rövidítésbővítés

A PowerShell-parancsmagok várhatóan leíró főnevekkel rendelkeznek. Ez olyan hosszú neveket eredményez, amelyeket nehezebb begépelni. Ezzel a funkcióval egyszerűen beírhatja a parancsmag nagybetűit, és tabulátorkiegészítéssel kereshet egyezést.

Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion

Példa

PS> i-arsavsf

Ha a tabulátorra lép, és telepítve van az Azure PowerShell Az modul, az automatikusan a következőre fog kiegészülni:

PS> Import-AzRecoveryServicesAsrVaultSettingsFile

Megjegyzés

Ez a funkció interaktívan használható. A parancsmagok rövidített formái nem hajthatók végre. Ez a funkció nem helyettesíti az aliasokat.

Kompatibilitástörő változások

  • Javítsa ki -NoEnumerate a viselkedést a Write-Output Windows PowerShell való konzisztensség érdekében. (#9069)
  • Eredmény egyenlővé 1,2,3 | Join-String tétele Join-String -InputObject 1,2,3 (#8611) (Köszönet@sethvs!)
  • Hozzáadás -Stable a és a kapcsolódó tesztekhez Sort-Object (#7862) (Köszönet @KirkMunro!)
  • Javítsa a Start-Sleep parancsmagot a tört másodpercek elfogadásához (#8537) (Köszönet @Prototyyppi!)
  • Módosítsa a kivonattáblát úgy, hogy case-insensitive az OrdinalIgnoreCase legyen az összes kultúrában (#8566)
  • A LiteralPathImport-Csv javítása a kimenethez való kötéshez Get-ChildItem (#8277) (Köszönet @iSazonov!)
  • Már nem hagy ki név nélküli oszlopot, ha a (#7899)-ben Import-Csv kettős idézőjel-elválasztót használ (Köszönet @Topping!)
  • Get-ExperimentalFeature már -ListAvailable nincs kapcsoló (#8318)
  • A hibakeresési paraméter most a Folytatás értékre van adva $DebugPreferenceaz Inquire (#8195) helyett (Köszönet@KirkMunro!)
  • A pwsh-val használt nem interaktív, átirányított, kódolt parancsban megadott honor -OutputFormat (#8115)
  • Szerelvény betöltése a modul alapútvonaláról, mielőtt megpróbálna betöltődni a GAC-ból (#8073)
  • tilde eltávolítása a Linux előzetes verziójú csomagokból (#8244)
  • A feldolgozás áthelyezése a -WorkingDirectory profilok feldolgozása előtt (#8079)
  • Ne adjon hozzá PATHEXT környezeti változót a Unix rendszeren (#7697) (Köszönjük @iSazonov!)

Ismert problémák

  • A Windows IOT ARM-platformokon történő újraegyenlítéssel kapcsolatos probléma a modulok betöltésekor merült fel. Lásd: (#8053)

Általános Frissítések és javítások

  • A kis- és nagybetűket nem megkülönböztető lapkiegészítés engedélyezése a kis- és nagybetűket megkülönböztető fájlrendszer fájljaihoz és mappáihoz (#8128)
  • A PSVersionInfo.PSVersion és a PSVersionInfo.PSEdition nyilvánossá tétele (#8054) (Köszönet @KirkMunro!)
  • Típuskövetkeztetés $_ / $PSItem hozzáadása blokkokban catch{ } (#8020) (Köszönet @vexx32!)
  • Statikus metódus meghívási típusának következtetése (#8018) javítása (Köszönet @SeeminglyScience!)
  • Létrehozás kikövetkeztetett típusok a következőhöz: Select-Object, Group-ObjectPSObject és Kivonattábla (#7231) (Köszönjük@powercode!)
  • Hívási módszer támogatása típusparaméterekkel ByRef-like (#7721)
  • Kezelje azt az esetet, amikor a Windows PowerShell modul elérési útja már szerepel a környezet PSModulePath-fájljában (#7727)
  • Parancsmagok engedélyezése SecureString nem Windows rendszeren az egyszerű szöveg tárolásával (#9199)
  • A nem Windows rendszeren megjelenő hibaüzenet javítása a clixml securestring használatával történő importálásakor (#7997)
  • A ReplyTo paraméter hozzáadása a(z) (#8727) paraméterhez Send-MailMessage (köszönet @replicaJunction!)
  • Elavult üzenet hozzáadása a(z) (#9178) fájlhoz Send-MailMessage
  • Javítás Restart-Computer , hogy működjön, localhost ha a WinRM nincs jelen (#9160)
  • Dobási megszakítási hiba a Start-Job PowerShell üzemeltetésekor (#9128)
  • C# stílusú típusgyorsítók és utótagok hozzáadása ushort, uint, ulong és rövid literálokhoz (#7813) (Köszönet @vexx32!)
  • Új utótagok hozzáadva a numerikus literálokhoz – lásd : about_Numeric_Literals (#7901) (Köszönet @vexx32!)
  • Helyes jelentés hatásszint, ha a SupportsShouldProcess nincs beállítva "true" (#8209) (Köszönet @vexx32!)
  • A webes parancsmagok (#8742) kéréskarakte-problémáinak elhárítása (köszönet @markekraus!)
  • Kijavítottuk a webes parancsmagokkal (#8679) kapcsolatos várható 100-continue hibát (köszönjük) @markekraus!)
  • A webes parancsmagokkal (#7676) kapcsolatos fájlblokkoló probléma kijavítása (Köszönet @Claustn!)
  • A kódlap elemzésével kapcsolatos probléma kijavítása a következőben Invoke-RestMethod : (#8694) (Köszönet @markekraus!)
  • A JsonObject.ConvertToJson nyilvános API-ként való elérhetővé tételének újrabontása ConvertTo-Json (#8682)
  • Konfigurálható maximális mélység hozzáadása a ConvertFrom-Json -Depth (#8199) beállítással (Köszönjük @louistio!)
  • EscapeHandling paraméter hozzáadása a parancsmagban ConvertTo-Json (#7775) (Köszönet @iSazonov!)
  • Hozzáadás -CustomPipeName a pwsh-hoz és Enter-PSHostProcess (#8889)
  • Relatív szimbolikus hivatkozások létrehozásának engedélyezése Windows rendszeren a következővel New-Item : (#8783)
  • Lehetővé teszi, hogy a windowsos felhasználók fejlesztői módban jogosultságszint-emelés nélkül hozzanak létre szimlinkeket (#8534)
  • Elfogadás engedélyezése Write-Information$null (#8774)
  • Speciális függvények javítása Get-Help MAML súgótartalommal (#8353)
  • Kijavítottuk Get-Help a -Parameter PSTypeName-hibáját, ha csak egy paraméter van deklarálva (#8754) (Köszönjük @pougetat!)
  • Jogkivonat-számítási javítás a Get-Help ScriptBlock-on végrehajtott művelethez a megjegyzés súgójában. (#8238) (Köszönet @hubuk!)
  • Módosítsa Get-Help a -Parameter paraméter parancsmagot, hogy sztringtömböket fogadjon el (#8454) (Köszönet @sethvs!)
  • A PAGER feloldása, ha az elérési útja szóközöket tartalmaz (#8571) (Köszönet @pougetat!)
  • Adja hozzá a parancssort a " less help" függvénnyel a felhasználó kilépési módjának megadásához (#7998)
  • Támogatási szám és karaktertípusok hozzáadása a parancsmaghoz Format-Hex (#8191) (Köszönet @iSazonov!)
  • A ShouldProcess eltávolítása innen Format-Hex : (#8178)
  • Adjon hozzá új Eltolás és darabszám paramétereket a parancsmaghoz Format-Hex , és adja hozzá újra a parancsmagot (#7877) (Köszönet @iSazonov!)
  • Engedélyezze a "name" kifejezést aliaskulcsként a "label" ConvertTo-Htmlelemhez, és engedélyezze, hogy a "width" bejegyzés egész szám legyen (#8426) (Köszönet @mklement0!)
  • A scriptblock-alapú számított tulajdonságok újra működőképessé tétele a ConvertTo-Html (z) (#8427) alkalmazásban (Köszönet @mklement0!)
  • Parancsmag Join-String hozzáadása a szöveg folyamatbemenetből való létrehozásához (#7660) (Köszönet @powercode!)
  • A FormatString paraméterlogika (#8449) parancsmag javítása Join-String (Köszönet @sethvs!)
  • Váltson Clear-Host vissza a használatával $RAWUI , és törölje a jelet az újraegyenlítéssel való munkához (#8609)
  • Váltson Clear-Host egyszerűen a meghívásra [console]::clear , és távolítsa el a clear aliast a Unixból (#8603)
  • A LiteralPath Import-Csv javítása a kimenethez való kötéshez Get-ChildItem (#8277) (Köszönet @iSazonov!)
  • A súgófüggvény nem használhatja az AliasHelpInfo (#8552) lapozóját
  • Hozzáadás -UseMinimalHeader az Start-Transcript átirat fejlécének minimalizálásához (#8402) (Köszönet @lukexjeremy!)
  • Hozzáadás Enable-ExperimentalFeature és Disable-ExperimentalFeature parancsmagok (#8318)
  • Tegye elérhetővé a PSDiagnostics összes parancsmagját, ha logman.exe elérhető (#8366)
  • A Perzisztálás paraméter eltávolítása a platformról New-PSDrivenon-Windows (#8291) (Köszönet@lukexjeremy!)
  • Támogatás hozzáadása a következőhöz cd + : (#7206) (Köszönjük @bergmeister!)
  • Engedélyezés Set-Location -LiteralPath a - és + (#8089) nevű mappákkal való munkához
  • Test-Path$false üres vagy $null elérési út (#8080) megadásakor ad vissza (Köszönet@vexx32!)
  • Dinamikus paraméter visszaadására akkor is lehetőség van, ha az elérési út nem egyezik meg egyetlen szolgáltatóval sem (#7957)
  • Támogatás Get-PSHostProcessInfo és Enter-PSHostProcess Unix-platformokon (#8232)
  • Foglalások csökkentése a parancsmagban Get-Content (#8103) (Köszönet @iSazonov!)
  • Olvasási Add-Content hozzáférés megosztása más eszközökkel tartalom írása közben (#8091)
  • Get/Add-Content továbbfejlesztett hibát jelez egy tároló megcélzásakor (#7823) (Köszönet @kvprasoon!)
  • Adjon hozzá -Name, -NoUserOverrides és -ListAvailable paramétereket a parancsmaghoz Get-Culture (#7702) (Köszönet @iSazonov!)
  • Adjon hozzá egyesített attribútumot a kódolási paraméter befejezéséhez. (#7732) (Köszönet @ThreeFive-O!)
  • Numerikus azonosítók és regisztrált kódlapok nevének engedélyezése kódolási paraméterekben (#7636) (Köszönet @iSazonov!)
  • Javítás Rename-Item -Path helyettesítő karakterrel (#7398) (Köszönet @kwkam!)
  • Ha a és Start-Transcript a fájl létezik, törlés helyett üres fájl (#8131) (Köszönet @paalbra!)
  • Nyílt forráskód fájlok létrehozása Add-Typea FileAccess.Read és a FileShare.Read használatával explicit módon (#7915) (Köszönet@IISResetMe!)
  • Javítás Enter-PSSession -ContainerId a legújabb Windowshoz (#7883)
  • Győződjön meg arról, hogy a NestedModules tulajdonságot a (#7859) tölti ki Test-ModuleManifest
  • Eset hozzáadása %F az Get-Date -UFormat (#7630) fájlhoz (Köszönet @britishben!)
  • Javítás Set-Service -Status Stopped a függőségekkel rendelkező szolgáltatások leállításához (#5525) (Köszönet @zhenggu!)