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ételeJoin-String -InputObject 1,2,3
(#8611) (Köszönet@sethvs!) - Hozzáadás
-Stable
ésSort-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 LiteralPath
Import-Csv
javítása a kimenethez való kötéshezGet-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 blokkokbancatch{ }
(#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öz
Select-Object
: ,Group-Object
PSObject é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 ésEnter-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éshezGet-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áhozStart-Transcript
(#8402) (Köszönet @lukexjeremy!) - Hozzáadás
Enable-ExperimentalFeature
ésDisable-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-PSDrive
non-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
ésEnter-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étereiGet-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-Type
a 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ájlhozGet-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!)