A PowerShell Core 6.2 újdonságai

A PowerShell Core 6.2 kiadás a teljesítménybeli fejlesztésekre, a hibajavításokra, valamint a kisebb parancsmagok és nyelvi fejlesztésekre összpontosított, amelyek javítják a minőséget. 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, küldjön visszajelzést, hogy fejlesztéseket végezhessünk, és eldönthessük, hogy érdemes-e előléptetni a funkciót az általános állapotba.

Az elérhető kísérleti funkciók listájának lekérésére használható Get-ExperimentalFeature . Ezeket a szolgáltatásokat engedélyezheti vagy letilthatja a következővel Enable-ExperimentalFeature : és Disable-ExperimentalFeature.

A parancs nem található javaslatok

Ez a funkció intelligens egyezteté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 homályosan illeszkedik a legvalószínűbbtől a legkevésbé valószínűig számos javaslathoz.

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 újraküldési kötegelés

Amikor implicit remotingot használ egy folyamatban, a PowerShell egymástól függetlenül kezeli a folyamat összes parancsát. Az objektumok ismételten szerializálva vannak, valamint 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 keresésére szolgáló környezeti változó eltérő Windows, macOS és Linux rendszeren! Ezzel a funkcióval egy PSDrive-otTemp: kap, amely automatikusan le van képezve a használt operációs rendszer ideiglenes mappájába.

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 kattint, és telepítve van az Azure PowerShell Az modul, a következő automatikus kiegészítést fogja használni:

PS> Import-AzRecoveryServicesAsrVaultSettingsFile

Megjegyzés

Ez a funkció interaktív módon 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

  • A Windows PowerShell konzisztens viselkedés Write-Output javítása-NoEnumerate. (#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 és Sort-Object kapcsolódó tesztek (#7862) (Köszönettel @KirkMunro!)
  • A parancsmag javítása Start-Sleep 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önettel@iSazonov!)
  • A továbbiakban nem hagy ki egy név nélküli oszlopot, ha a (#7899)-ben Import-Csv kettős idézőjel-elválasztót használ (Köszönettel: @Topping!)
  • Get-ExperimentalFeature már -ListAvailable nincs kapcsolója (#8318)
  • A hibakeresési paraméter most Az Inquire (#8195) helyett a Continue (Folytatás) értékre van adva $DebugPreference (Köszönet@KirkMunro!)
  • A pwsh-val használt nem interaktív, átirányított, kódolt parancsban (#8115) megadott tisztelet -OutputFormat
  • 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 Linux előzetes verziójú csomagokból (#8244)
  • A profilok -WorkingDirectory feldolgozása előtti feldolgozás áthelyezése (#8079)
  • Ne adjon hozzá PATHEXT környezeti változót a Unixon (#7697) (Köszönjük @iSazonov!)

Ismert problémák

  • A Windows IOT ARM-platformokon történő újraformálás problémát jelent a modulok betöltésekor. Lásd: (#8053)

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

  • 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 típusú következtetés kijavítása (#8018) (Köszönet @SeeminglyScience!)
  • Hozzon létre kikövetkeztetett típusokat a következőhözSelect-Object: , Group-ObjectPSObject és Hashtable (#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 -ban (#7727)
  • Parancsmagok engedélyezése SecureString nem Windows rendszeren az egyszerű szöveg tárolásával (#9199)
  • A clixml securestring használatával történő importálásakor a nem Windows rendszeren megjelenő hibaüzenet javítása (#7997)
  • A ReplyTo paraméter hozzáadása ( Send-MailMessage #8727) (Köszönet @replicaJunction!)
  • Elavult üzenet hozzáadása ( Send-MailMessage #9178)
  • Javítás Restart-Computer , hogy működjön, localhost ha a WinRM nincs jelen (#9160)
  • A PowerShell üzemeltetése közbeni megszakítási hiba ( Start-Job #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ásszintje, ha a SupportsShouldProcess nincs "true" (#8209) értékre állítva (Köszönet @vexx32!)
  • A webes parancsmagok (#8742) kéréskarakte-problémáinak kijaví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 (#8694) fájlban Invoke-RestMethod (Köszönet @markekraus!)
  • A JsonObject.ConvertToJson nyilvános API-ként való közzétételének újrabontása ConvertTo-Json (#8682)
  • Konfigurálható maximális mélység ConvertFrom-Json hozzáadása a -Depth (#8199) beállítással (Köszönettel @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 New-Item rendszeren (#8783)
  • Jogosultságszint-emelés nélküli szimlinkek létrehozásának engedélyezése a Windows-felhasználók számára fejlesztői módban (#8534)
  • Elfogadás engedélyezése Write-Information$null (#8774)
  • Speciális függvények javítása Get-Help a MAML súgótartalmaival (#8353)
  • Kijavítottuk Get-Help a PSTypeName -Parameter paraméterrel kapcsolatos problémáját, ha csak egy paraméter van deklarálva (#8754) (Köszönet @pougetat!)
  • Jogkivonat-számítási javítás a Get-Help ScriptBlockban a megjegyzés súgójának végrehajtásához. (#8238) (Köszönet @hubuk!)
  • Módosítsa Get-Help a parancsmag -Paraméter paramétert, hogy elfogadja a sztringtömböket (#8454) (Köszönet @sethvs!)
  • A PAGER feloldása, ha az elérési útja szóközöket tartalmaz (#8571) (Köszönjük @pougetat!)
  • A "súgó" függvényben való használatra less vonatkozó kérdés hozzáadása 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 parancsmagban Format-Hex (#8191) (Köszönet @iSazonov!)
  • A ShouldProcess eltávolítása a(z) (#8178) fájlból Format-Hex
  • Adjon hozzá új eltolás- és darabszámparamétereket a parancsmaghoz Format-Hex , majd újrabontása (#7877) (Köszönjük @iSazonov!)
  • A "name" aliaskulcsként való engedélyezése a "label" elemhez ConvertTo-Html, a "width" bejegyzés legyen egész szám (#8426) (Köszönet @mklement0!)
  • A scriptblock-alapú számított tulajdonságok újra működőképessé tétele a (#8427) fájlban ConvertTo-Html (Köszönettel @mklement0!)
  • Parancsmag Join-String hozzáadása a folyamatbemenetből származó szöveg 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álatba $RAWUI , és törölje a jelölést a törléshez (#8609)
  • Módosítsa Clear-Host egyszerűen az egyszerű hívásra [console]::clear , és távolítsa el a unixból a clear aliast (#8603)
  • Ki lett javítva a LiteralPath a Import-Csv kimenethez való kötéshez Get-ChildItem (#8277) (Köszönet @iSazonov!)
  • a súgófüggvény nem használhatja az AliasHelpInfo lapozóját (#8552)
  • Hozzáadás -UseMinimalHeader az átiratfejléc minimalizálásához Start-Transcript (#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)
  • Perzisztencia 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ák használatához
  • Test-Path$false üres vagy $null elérési út (#8080) megadása esetén 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 egyik szolgáltatóval sem (#7957)
  • Unix-platformok támogatása Get-PSHostProcessInfo és Enter-PSHostProcess használata (#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ó (#7823) megcélzásakor (Köszönet @kvprasoon!)
  • Parancsmag hozzáadása -Nameés -NoUserOverrides-ListAvailable paraméterei 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 használja Start-Transcript és 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 -UFormat fájlhoz Get-Date (#7630) (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önjük @zhenggu!)