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-ExperimentalFeature
a 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 aWrite-Output
Windows PowerShell való konzisztensség érdekében. (#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
a és a kapcsolódó tesztekhezSort-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 LiteralPath
Import-Csv
javítása a kimenethez való kötéshezGet-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
$DebugPreference
az 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 blokkokbancatch{ }
(#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-Object
PSObject é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 ésEnter-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-Html
elemhez, é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éshezGet-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
azStart-Transcript
átirat fejlécének minimalizálásához (#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)
- A Perzisztálás 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á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
ésEnter-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 parancsmaghozGet-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-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
azGet-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!)