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


Mi újság a PowerShell Core 6.2-ben

A PowerShell Core 6.2 kiadás a teljesítmény javítására, hibajavításra, valamint kisebb cmdlet- és nyelvi fejlesztésekre fókuszált, amelyek javítják a minőséget. A teljes fejlesztések listájának megtekintéséhez nézd 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 verzióban négy kísérleti funkciót kell kipróbálni. Kérjük, adjatok visszajelzést, hogy javíthassunk, és eldönthessük, érdemes-e a funkció népszerűsíteni a mainstream státuszba.

Használd Get-ExperimentalFeature a rendelkezésre álló kísérleti funkciók listáját. Ezeket a funkciókat engedélyezheted vagy letilthatod a Enable-ExperimentalFeature és Disable-ExperimentalFeaturesegítségével.

Parancsnokság nem talált javaslatokat

Ez a funkció fuzzy matchinget használ, hogy találja a parancsok vagy parancsnoki parancsok javaslatait, amelyeket esetleg hibásan gépeltél.

Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion

Example

Ebben a példában a hibásan írt cmdlet neve homályos, több javaslathoz igazítva a legvalószínűbbtől a legkevésbé valószínű kategóriákhoz.

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 távozói batching

Ha implicit távkezelést alkalmaznak egy csővezetékben, a PowerShell minden parancsot függetlenül kezel a pipeline-ban. Az objektumokat ismételten soriázzák a de-serialized kliens és a távoli rendszer között a csővezeték végrehajtása során.

Ezzel a funkcióval a PowerShell elemzi a csővezetéket, hogy megállapítsa, biztonságos-e a parancs futtatása, és létezik-e a célrendszeren. Ha igaz, a PowerShell távolról futtatja az egész csővezetéket, csak a kícionális és de-serializes az eredményeket szerzi vissza az ügyfélnek.

Enable-ExperimentalFeature -Name PSImplicitRemotingBatching

A valós világban Get-Process | Sort-Object végzett helyi gazdatestteszt 10-15 másodpercről 20-30 milliszekundra csökken. A funkciót csak az ügyfél engedélyezni kell. A szerveren nem szükséges változtatás.

Temp Drive

Enable-ExperimentalFeature -Name PSTempDrive

Ha különböző operációs rendszereken használod a PowerShell Core-t, akkor azt fogod tapasztalni, hogy a környezeti változó az ideiglenes könyvtár megtalálásához Windows, macOS és Linux esetén más! Ezzel a funkcióval kapsz egy PSDrive-tTemp:, amely automatikusan az operációs rendszer ideiglenes mappájához kerül.

Example

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

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

Rövidítés bővítése

A PowerShell cmdlet-eknek elvárhatóan leíró főneveket kell tartalmazniuk. Ez hosszú neveket eredményez, amelyeket nehezebb beírni. Ez a funkció lehetővé teszi, hogy egyszerűen beírd a parancsnok nagybetűs karaktereit, és a fülek befejezésével megtaláld a párosítást.

Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion

Example

PS> i-arsavsf

Ha megnyomod a tabot, és telepíted az Azure PowerShell Az modult, automatikusan beteljesül:

PS> Import-AzRecoveryServicesAsrVaultSettingsFile

Megjegyzés:

Ez a funkció interaktív használatra készült. A cmdletek rövidített formái nem hajthatók le. Ez a funkció nem helyettesíti az álneveket.

Kompatibilitástörő változások

  • Javítsd -NoEnumerate ki a viselkedést Write-Output , hogy következetes legyen a Windows PowerShell-lel. (#9069)
  • Legyen Join-String -InputObject 1,2,3 az eredmény egyenlő az 1,2,3 | Join-String eredmény (#8611) (Köszönöm @sethvs!)
  • Add -Stable to Sort-Object és kapcsolódó tesztek (#7862) (Köszönöm @KirkMunro!)
  • Javítsd Start-Sleep a cmdlet-et, hogy törtmásodperceket fogadjon el (#8537) (Köszönöm) @Prototyyppi!)
  • Változtasd a hashtable-t, hogy az OrdinalIgnoreCase case-insensitive minden kultúrában legyen (#8566)
  • Fixálom a LiteralPath-t, Import-Csv hogy kötd a kimenethez Get-ChildItem (#8277) (Köszi)@iSazonov!)
  • Már nem ugrik ki egy nev nélküli oszlopot, ha a (#7899) idézőjel-választót Import-Csv használjuk (Köszönöm) @Topping!)
  • Get-ExperimentalFeature Már nincs Switch -ListAvailable (#8318)
  • A hibakeresés paraméter most Folytatásra állít $DebugPreference az Inquire helyett (#8195) (Köszönöm) (Köszönöm@KirkMunro!)
  • Honor, -OutputFormat ha nem interaktív, átirányított, kódolt parancsban van megadva, amelyet a pwsh (#8115) használ
  • Terhelés összeállítása a modul alapútjáról, mielőtt megpróbálnánk betölteni a GAC-ról (#8073)
  • Tilde eltávolítása a Linux előzetesítő csomagokból (#8244)
  • A profilfeldolgozás előtti mozgatás -WorkingDirectory feldolgozása (#8079)
  • Ne adj PATHEXT hozzá környezeti változót Unixon (#7697) (Köszönöm @iSazonov!)

Ismert problémák

  • A távirányítás Windows IOT ARM platformokon problémát okoz a modulok betöltésével. Lásd (#8053)

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

  • Engedélyezze a kis- és korosztályérzékeny lapok kitöltését a kis- és nagybetűérzékeny fájlrendszeren (#8128)
  • Tegye nyilvánossá a PSVersionInfo.PSVersion és PSVersionInfo.PSEdition (#8054) (Köszönöm @KirkMunro!)
  • Hozzáadj Típuskövetkeztetést a $_ / $PSItem blokkokban catch{ } (#8020) (Köszönöm) @vexx32!)
  • Fix statikus metódus idézési típus következtetés (#8018) (Köszönöm @SeeminglyScience!)
  • Hozz létre inferred típusokat , Select-ObjectGroup-Object, PSObject és hashtable (#7231) számára (Köszönöm@powercode!)
  • Támogatási hívó metódus típusparaméterekkel ByRef-like (#7721)
  • Kezeld azt az esetet, amikor a Windows PowerShell modul útja már a környezet PSModulePath-jában (#7727) van
  • A parancsnokok engedélyezése SecureString nem Windows-ra a tiszta szöveg (#9199) tárolásával
  • Javítsa a hibaüzenetet nem Windows-on, amikor clixml importálásakor securestringgel (#7997)
  • Válasz Send-MailMessage To paraméter hozzáadása (#8727) (Köszönöm @replicaJunction!)
  • Elavult üzenet hozzáadása (#9178) címhez Send-MailMessage
  • Javítás Restart-Computer , amin dolgozni localhost kell, ha WinRM nincs jelen (#9160)
  • Dobás Start-Job megszakítási hiba (a PowerShell hálásakor) esetén (#9128)
  • C# stílusú gyorsítók és utótagok hozzáadása az ushort, uint, ulong és rövid literális betűk (#7813) (Köszönöm) @vexx32!)
  • Új toldaltagok hozzáadva a numerikus literálisokhoz – lásd about_Numeric_Literals (#7901) (Köszönöm @vexx32!)
  • Helyesen jelentse az ütközési szintet, ha a SupportsShouldProcess nincs 'true'-ra állítva (#8209) (Köszönöm @vexx32!)
  • Javítsa a kérelgetési karakterkészlet problémáit a webes cmdletekben (#8742) (Köszönöm @markekraus!)
  • Javítás a Várás 100-continue problémát a Web Cmdletekkel (#8679) (Köszönöm) (Köszönöm @markekraus!)
  • Javítottam a webes cmdlet-ek fájlblokkoló problémáját (#7676) (Köszönöm @Claustn!)
  • A kódlap-elemzési hibát javítottam a Invoke-RestMethod (#8694) (Köszönöm) @markekraus!)
  • Refaktor ConvertTo-Json a JsonObject.ConvertToJson nyilvános API-ként való megjelenítéséhez (#8682)
  • Hozzáadj konfigurálható maximális mélységet ConvertFrom-Json -Depth-vel (#8199) (Köszönöm) (Köszönöm @louistio!)
  • EscapeHandling paraméter hozzáadása a ConvertTo-Json cmdletbe (#7775) (Köszönöm @iSazonov!)
  • Add -CustomPipeName hozzá a pwsh-hoz és Enter-PSHostProcess (#8889)
  • Engedélyezzük a relatív szimbolikus kapcsolatok létrehozását Windowson ( New-Item #8783)
  • Lehetővé tenni Windows felhasználók számára, hogy fejlesztői módban szimmetrikus linkeket hozzanak létre emelés nélkül (#8534)
  • Engedélyezd Write-Information az elfogadást $null (#8774)
  • Fix Get-Help a fejlett funkciókhoz MAML súgó tartalommal (#8353)
  • A PSTypeName problémát Get-Help javítottam -Parameter-nál, amikor csak egy paraméter van bejelentve (#8754) (Köszönöm) (Köszönöm @pougetat!)
  • Token számítási javítás a Get-Help ScriptBlock-on futtatva, hozzászólásért segítségért. (#8238) (Köszönöm @hubuk!)
  • Változtasd Get-Help meg a cmdlet -Parameter paramétert, hogy elfogadja a string tömböket (#8454) (Köszönöm @sethvs!)
  • Resolve PAGER (PAGER) megoldása, ha az útja tartalmaz (#8571) (Köszönöm) @pougetat!)
  • Hozzáadj promptot a 'help' függvény használatához less , hogy megtanítsd a felhasználót, hogyan lépjen ki (#7998)
  • Erősítsd meg a támogatást az enum és karakter típusok a Format-Hex cmdletben (#8191) (Köszönöm @iSazonov!)
  • Távolítsa el a ShouldProcess-t a (#8178) címről Format-Hex
  • Új Offset és Count paramétereket adj hozzá Format-Hex és refaktoráld a cmdletet (#7877) (Köszönöm @iSazonov!)
  • Engedélyezzük a 'name' alias-kulcsként a 'label' esetén ConvertTo-Html, engedd, hogy a 'width' bejegyzés egész szám legyen (#8426) (Köszönöm) @mklement0!)
  • A scriptblock alapú számolt tulajdonságok újra működőképzelhetőnek ( ConvertTo-Html #8427) (Köszönöm) @mklement0!)
  • Hozzáadj cmdletet Join-String a pipeline input szöveg létrehozásához (#7660) (Köszönöm @powercode!)
  • Fixálom Join-String a cmdlet FormatString paraméterlogikát (#8449) (Köszönöm @sethvs!)
  • Váltás Clear-Host vissza a használatra $RAWUI és a tisztításra, hogy távirányítás közben dolgozz (#8609)
  • Váltás Clear-Host egyszerűen hívottra [console]::clear , és eltávolítja a tiszta alias a Unix-ról (#8603)
  • Fixálom a LiteralPath-t, Import-Csv hogy kötd a kimenethez Get-ChildItem (#8277) (Köszi) @iSazonov!)
  • A segítség funkció nem használja a pagert az AliasHelpInfo (#8552) számára
  • Add -UseMinimalHeader hozzá Start-Transcript a legkisebb átirat fejlécét (#8402) (Köszönöm) @lukexjeremy!)
  • Add Enable-ExperimentalFeature és Disable-ExperimentalFeature cmdlets (#8318)
  • Exponáld az összes PSDiagnostics cmdletet, ha logman.exe elérhető (#8366)
  • Távolítsd el a Persist paramétert a New-PSDrivenon-Windows platformról (#8291) (Köszönöm@lukexjeremy!)
  • Támogatás hozzáadása ( cd + #7206) (Köszönöm @bergmeister!)
  • Engedélyezd Set-Location -LiteralPath a - és + (#8089) nevű mappák használatát
  • Test-Path akkor tér vissza, $false ha üres vagy $null út értéket kapunk (#8080) (Köszönöm @vexx32!)
  • Engedélyezzük a dinamikus paraméter visszaküldését akkor is, ha az út nem egyezik meg egyetlen szolgáltatóval sem (#7957)
  • Támogatás Get-PSHostProcessInfo és Enter-PSHostProcess Unix platformokon (#8232)
  • Csökkentsd az allokációt a Get-Content cmdletben (#8103) (Köszönöm @iSazonov!)
  • Engedélyezd Add-Content az olvasási hozzáférés megosztását más eszközökkel tartalomírás közben (#8091)
  • Get/Add-Content javított hibát dob egy konténer célzása közben (#7823) (Köszönöm @kvprasoon!)
  • Add -Namehozzá , -NoUserOverrides és -ListAvailable paramétereket a Get-Culture cmdlethez (#7702) (Köszönöm @iSazonov!)
  • Egységes attribútumot adjunk hozzá a kódolási paraméter befejezéséhez. (#7732) (Köszönöm @ThreeFive-O!)
  • Engedélyezzük a numerikus azonosítókat és a regisztrált kódoldalak nevét a kódolási paraméterekben (#7636) (Köszönöm @iSazonov!)
  • Javítás Rename-Item -Path wildcard karakterrel (#7398) (Köszi @kwkam!)
  • Amikor Start-Transcript a fájl létezik, üres fájlt törölni (#8131) helyett (Köszönöm) (Köszönöm) @paalbra!)
  • Készíts Add-Type nyílt forráskódú fájlokat a FileAccess.Read és FileShare.Read néven (#7915) (Köszönöm) @IISResetMe!)
  • Javítás Enter-PSSession -ContainerId a legfrissebb Windowshoz (#7883)
  • Biztosítsd NestedModules tulajdonság (#7859) által töltődve Test-ModuleManifest
  • Hozzáadj %F -UFormat ( Get-Date #7630) (Köszönöm) @britishben!)
  • Javítás Set-Service -Status Stopped , hogy megállítsam a függőségekkel rendelkező szolgáltatásokat (#5525) (Köszönöm @zhenggu!)