Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A PowerShell 7.0 egy nyílt forráskódú, platformos (Windows, macOS és Linux) PowerShell kiadás, amely heterogén környezetek és hibrid felhő kezelésére készült.
Ebben a kiadásban számos új funkciót vezetünk be, többek között:
- Csővezeték-párhuzamos
ForEach-Object -Parallel - Új operátorok:
- Ternáris operátor:
a ? b : c - Vezetéklánc-üzemeltetők:
||és&& - Null feltételes operátorok:
??és??=
- Ternáris operátor:
- Egyszerűsített és dinamikus hibanézet és
Get-Errorcmdlet a hibák könnyebb vizsgálatához - Egy kompatibilitási réteg, amely lehetővé teszi a felhasználók számára, hogy modulokat importáljanak egy implicit Windows PowerShell ülés során
- Automatikus új verzió értesítések
- A PowerShell 7-ből közvetlenül a DSC erőforrások meghívásának lehetősége (kísérleti)
A funkciók és javítások teljes listájának megtekintéséhez lásd a változásnaplókat.
Hol telepíthetem a PowerShell-t?
A PowerShell 7 jelenleg az alábbi operációs rendszereket támogatja x64-en, többek között:
- Windows 8.1 és 10
- Windows Server 2012, 2012 R2, 2016 és 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL) / CentOS 7
- Fedora 30+
- Debian 9
- Ubuntu LTS 16.04+
- Alpine Linux 3.8+
Ezen felül a PowerShell 7.0 támogatja az ARM32 és ARM64 változatokat a Debian, Ubuntu és ARM64 Alpine Linux verzióiban.
Nézd meg a telepítési útmutatót a kedvenc operációs rendszeredhez: Windows, macOS vagy Linux esetén.
Bár hivatalosan nem támogatott, a közösség csomagokat is biztosított Arch és Kali Linux számára.
Megjegyzés:
A Debian 10 és a CentOS 8 jelenleg nem támogatja a WinRM távirányítót. Az SSH-alapú távollés beállításáról a PowerShell Remoting over SSH oldalán részletekért lásd.
További up-toinformációért a támogatott operációs rendszerekről és a támogatási életciklusról a PowerShell Support Lifecycle-ben található.
PowerShell 7 futtatása
A PowerShell 7 egy Windows PowerShell-től külön könyvtárba telepíthető. Ez lehetővé teszi, hogy a PowerShell 7-et a Windows PowerShell 5.1-gyel együtt futtathassd. A PowerShell 6.x esetében a PowerShell 7 egy helyben történő frissítés, amely eltávolítja a PowerShell 6.x-et.
- A PowerShell 7 telepítve van
%programfiles%\PowerShell\7 - A
%programfiles%\PowerShell\7mappa hozzá lesz adva a$env:PATH
A PowerShell 7 telepítő csomagja frissíti a PowerShell 6.x korábbi verzióit:
- PowerShell 6.x Windowson:
%programfiles%\PowerShell\6helyettesíti%programfiles%\PowerShell\7 - Linux:
/opt/microsoft/powershell/6helyettesíti/opt/microsoft/powershell/7 - macOS:
/usr/local/microsoft/powershell/6helyettesíti/usr/local/microsoft/powershell/7
Megjegyzés:
Windows PowerShellben a PowerShell elindításához szükséges futtatható fájl neve powershell.exe. A 6. verzióban és annál magasabb verzióban a futtatható név megváltozott, hogy támogatja a side by side execution-t. A PowerShell 7 indításához szükséges új futtatható név .pwsh.exe Az előnézeti buildek a 7-preview könyvtár helyett a helyükön pwsh-previewpwsh maradnak.
Javított visszafelé kompatibilitás a Windows PowerShell-szel
A PowerShell 7.0 a .NET Core 3.1-re való áthelyezést jelenti, jelentősen lehetővé téve a visszafelé kompatibilitást a meglévő Windows PowerShell modulokkal. Ez sok olyan modult tartalmaz a Windowson, amelyek grafikus felhasználói felület funkciót igényelnek, mint Out-GridView például és Show-Command, valamint számos szerepkezelő modult, amelyek a Windows részeként érkeznek.
Windows esetén egy új kapcsolóparaméter, UseWindowsPowerShell kerül hozzá Import-Module. Ez a kapcsoló létrehoz egy proxy modult a PowerShell 7-ben, amely egy helyi Windows PowerShell folyamatot használ, hogy implicit módon futtatja az adott modulban található cmdleteket. További információért az import-modulról.
További információért arról, hogy mely Microsoft modulok működnek PowerShell 7.0-val, lásd a Modul Kompatibilitási Táblázatot.
Párhuzamos végrehajtás hozzáadva ForEach-Object
A ForEach-Object cmdlet, amely elemeket iterál egy gyűjteményben, most beépített párhuzamossággal rendelkezik az új Parallel paraméterrel.
Alapértelmezés szerint a párhuzamos szkriptblokkok a hívó aktuális munkakönyvtárát használják, aki elindította a párhuzamos feladatokat.
Ez a példa 50 000 naplóbejegyzést kér 5 rendszernaplóból egy helyi Windows gépen:
$logNames = 'Security','Application','System','Windows PowerShell','Microsoft-Windows-Store/Operational'
$logEntries = $logNames | ForEach-Object -Parallel {
Get-WinEvent -LogName $_ -MaxEvents 10000
} -ThrottleLimit 5
$logEntries.Count
50000
A Párhuzamos paraméter megadja azt a szkriptblokkot, amely párhuzamosan fut minden bemeneti napló számára.
Az új ThrottleLimit paraméter korlátozza a párhuzamosan futó szkriptblokkok számát egy adott időpontban. Az alapértelmezett érték 5.
Használd a $_ változót, hogy a szkriptblokkban a jelenlegi bemeneti objektumot ábrázolja. Használd a $using: scope-t, hogy változó hivatkozásokat továbbítsd a futó szkriptblokknak.
További információért a ForEach-Objectről.
Ternáris operátor
A PowerShell 7.0 bevezet egy harmadáros operátort, amely egyszerűsített if-else állításként viselkedik.
A PowerShell harmas operátora szorosan a C# harmas operátor szintaxisából modellezzük:
<condition> ? <if-true> : <if-false>
A feltétel-kifejezést mindig kiértékelik, és az eredményét Boolean-ra alakítják, hogy meghatározzuk, melyik ágat értékeljük legközelebb:
- A
<if-true>kifejezés akkor lesz végrehajtva, ha a<condition>kifejezés igaz - A
<if-false>kifejezés akkor lesz végrehajtva, ha a<condition>kifejezés hamis
Például:
$message = (Test-Path $path) ? "Path exists" : "Path not found"
Ebben a példában, ha az út létezik, akkor az Path létezik (Path exists ) jelenik meg. Ha az út nem létezik, akkor megjelenik az Út nem talált meg.
További információért az if-ről.
Csővezeték-láncoperátorok
PowerShell 7 && a és || operátorokat implementálja, hogy feltételesen láncolják a pipeline-okat. Ezeket az operátorokat a PowerShellben "pipeline chain operátoroknak" nevezik, és hasonlóak az AND és OR listákhoz a shellekben, mint bash például és zsh, valamint a Windows Command Shellcmd.exe () feltételes feldolgozási szimbólumaihoz.
A && operátor végrehajtja a jobb oldali folyamatot, ha a bal oldali folyamat sikeres volt. Ezzel szemben a || operátor végrehajtja a jobb oldali folyamatot, ha a bal oldali folyamat meghiúsult.
Megjegyzés:
Ezek az operátorok a $? és $LASTEXITCODE változókkal határozzák meg, hogy egy folyamat nem sikerült-e. Ez lehetővé teszi, hogy natív parancsokkal és nem csak parancsmagokkal vagy függvényekkel használja őket.
Itt az első parancs sikeres, a második parancs pedig végrehajtható:
Write-Output 'First' && Write-Output 'Second'
First
Second
Itt az első parancs meghibásodik, a második nem hajt végre:
Write-Error 'Bad' && Write-Output 'Second'
Write-Error: Bad
Itt az első parancs sikeres, a második parancs nem történik meg:
Write-Output 'First' || Write-Output 'Second'
First
Itt az első parancs meghibás, így a második parancs következik be:
Write-Error 'Bad' || Write-Output 'Second'
Write-Error 'Bad'
Second
További információért a Csővezeték-láncoperátorokról.
Null-koalescing, assignáció és feltételes operátorok
A PowerShell 7 tartalmazza a null összefonó operátort ??, null feltételes hozzárendelést ??=, valamint null feltételes tag hozzáférési operátorokat ?. és ?[].
Null-koalescing operátor ??
A null-koaleszkáló operátor ?? visszaadja bal oldali operandjának értékét, ha nem null.
Ellenkező esetben kiértékeli a jobb oldali operandust, és visszaadja annak eredményét. A ?? operátor nem értékeli a jobb oldali operandusát, ha a bal oldali operandus értéke nem null.
$x = $null
$x ?? 100
100
A következő példában a jobb oldali operandot nem értékeljük:
[string] $todaysDate = '1/10/2020'
$todaysDate ?? (Get-Date).ToShortDateString()
1/10/2020
Null feltételes hozzárendelés operátor ?? =
A null feltételes hozzárendelési operátor ??= csak akkor rendeli meg a jobb oldali operandjának értékét a bal oldali operandjához. A ??= operátor nem értékeli a jobb oldali operandusát, ha a bal oldali operandus értéke nem null.
$x = $null
$x ??= 100
$x
100
A következő példában a jobb oldali operandot nem értékelik:
[string] $todaysDate = '1/10/2020'
$todaysDate ??= (Get-Date).ToShortDateString()
1/10/2020
Null feltételes tag hozzáférési operátorok ?. és? [] (Kísérleti)
Megjegyzés:
Ez egy kísérleti funkció, amelynek neve PSNullConditionalOperators. További információért lásd: Kísérleti jellemzők használata.
Egy null feltételes operátor csak akkor engedélyezi a tag hozzáférését , ?.vagy elemi hozzáférést ?[]az operandjához, ha az operandus nem null értékű; egyébként nullat ad vissza.
Megjegyzés:
Mivel a PowerShell lehetővé teszi, hogy ? része legyen a változó nevének, a változónév formális specifikációja szükséges ezen operátorok használatához. Ezért a változónevek körül kell használni {} , például ${a} amikor ? a változó nevének ${a?}része .
A következő példában a tagtulajdonság Státuszának értéke kerül vissza:
$Service = Get-Service -Name 'bits'
${Service}?.status
Stopped
A következő példa nullat ad vissza, anélkül, hogy megpróbálnánk elérni a tag nevet Státusz:
$service = $Null
${Service}?.status
Hasonlóképpen, az elem értékét használva ?[]a következőképpen adjuk vissza:
$a = 1..10
${a}?[0]
1
És amikor az operand null, az elem nem fér hozzá, és null visszatér:
$a = $null
${a}?[0]
További információért About_Operators.
Új nézet ConciseView és cmdlet Get-Error
A PowerShell 7.0 javítja a hibaüzenetek megjelenítését, hogy javítsa az interaktív és szkripthibák olvashatóságát egy új alapértelmezett nézetű ConciseView-val. A nézetek a felhasználó által választható a preferenciaváltozóval $ErrorView.
A ConciseView esetében, ha a hiba nem szkriptből vagy elemzőből származik, akkor az egyetlen soros hibaüzenet jelent:
Get-Childitem -Path c:\NotReal
Get-ChildItem: can't find path 'C:\NotReal' because it doesn't exist
Ha a hiba szkript futtatása közben jelentkezik vagy elemző hiba, a PowerShell többsoros hibaüzenetet ad vissza, amely tartalmazza a hibát, egy mutatót és hibaüzenetet, amely jelzi, hol található a hiba abban a sorban. Ha a terminál nem támogatja az ANSI színes escape sequence-eket (VT100), akkor a színek nem jelennek meg.
Hibamegjelenítés egy szkriptből
A PowerShell 7 alapértelmezett nézete a ConciseView. Az előző alapértelmezett nézet a NormalView volt, és ezt a preference változó $ErrorViewbeállításával választhatod ki.
$ErrorView = 'NormalView' # Sets the error view to NormalView
$ErrorView = 'ConciseView' # Sets the error view to ConciseView
Megjegyzés:
Egy új tulajdonság, a ErrorAccentColor hozzáadásra $Host.PrivateData került, hogy támogassa a hibaüzenet akcentus színének megváltoztatását.
Az új cmdlet Get-Error teljes részletes képet nyújt a teljesen minősített hibáról, ha kívánják. Alapértelmezés szerint a cmdlet megjeleníti az utolsó hibá teljes részleteit, beleértve a belső kivételeket is.
Megjelenítés a Get-Error alapján
A Get-Error cmdlet támogatja a csővezetékből érkező bemenetet a beépített változóval $Error.
Get-Error Minden vezetékes hibát megjelenít.
$Error | Get-Error
A Get-Error cmdlet támogatja a Legújabb paramétert, így megadhatod, hogy hány hibát szeretnél megjeleníteni a jelenlegi munkafolyamatból.
Get-Error -Newest 3 # Displays the lst three errors that occurred in the session
További információért a Get-Error-ról.
Új verzió értesítése
A PowerShell 7 frissítési értesítéseket használ, hogy figyelmeztesse a felhasználókat a PowerShell frissítéseinek létezésére. A PowerShell naponta egyszer lekérdez egy online szolgáltatást, hogy megállapítsa, elérhető-e újabb verzió.
Megjegyzés:
Az újítás ellenőrzése az első alkalom alatt történik egy adott 24 órás időszakban. Teljesítmény miatt a frissítés ellenőrzése 3 másodperccel a játékmenet kezdete után kezdődik. Az értesítés csak a következő ülések kezdetén jelenik meg.
Alapértelmezés szerint a PowerShell két különböző értesítési csatorna egyikére iratkozik fel a verziójától/ágtól függően. A támogatott, általánosan elérhető (GA) PowerShell verziók csak a frissített GA kiadások értesítéseit adják vissza. Az előnézeti és kiadási jelölt (RC) kiadások értesítést adnak az előzetes megjelenések, RC és GA kiadások frissítéseiről.
A frissítésértesítés viselkedése a $Env:POWERSHELL_UPDATECHECK környezeti változóval módosítható. A következő értékek támogatottak:
-
Az alapértelmezett ugyanaz, mint nem definiálni
$Env:POWERSHELL_UPDATECHECK- A GA-kiadásokról szóló értesítések tájékoztatják a GA-kiadások frissítéséről
- Az előzetes verziójú és RC-kiadások értesítést küldenek a GA és az előzetes kiadások frissítéseiről.
- Kikapcsolja a frissítési értesítési funkciót
- Az LTS csak a hosszú távú karbantartási (LTS) GA kiadások frissítéseiről értesít
Megjegyzés:
A környezeti változó $Env:POWERSHELL_UPDATECHECK csak akkor létezik, amikor először beállítják.
A verzióértesítés beállítása csak LTS kiadásokra vonatkozik:
$Env:POWERSHELL_UPDATECHECK = 'LTS'
A verzióértesítés beállításához a viselkedéshez Default :
$Env:POWERSHELL_UPDATECHECK = 'Default'
További információért a frissítési értesítésekről.
Új DSC Erőforrás támogatás Invoke-DSCResource-vel (kísérleti)
Megjegyzés:
Ez egy kísérleti funkció, amelynek neve PSDesiredStateConfiguration.InvokeDscResource. További információért lásd: Kísérleti jellemzők használata.
A Invoke-DscResource cmdlet egy meghatározott PowerShell Desired State Configuration (DSC) erőforrás metódusát futtatja.
Ez a cmdlet közvetlenül hív egy DSC erőforrást, konfigurációs dokumentum létrehozása nélkül. Ezzel a parancsnoksággal a konfigurációkezelő termékek DSC erőforrások segítségével kezelhetik a Windowst vagy a Linuxot. Ez a cmdlet lehetővé teszi az erőforrások hibakeresését is, amikor a DSC motor bekapcsolva fut.
Ez a parancs megidézi a WindowsProcess nevű erőforrás Set metódusát, és megadja a kötelező Path és Arguments tulajdonságokat a megadott Windows folyamat elindításához.
Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
További információért az Invoke-DSCResource-ról.
Törő változások és fejlesztések
Kompatibilitástörő változások
- Legyen frissítő értesítés támogatása, LTS és alapértelmezett csatornák (#11132)
- Frissítsd Test-Connection, hogy jobban hasonlítson a Windows PowerShellhez (#10697) (Köszi) @vexx32!)
- Megőrizni a dollárt? ParenExpression, SubExpression és ArrayExpression (#11040) esetén
- Állítsd be a munkakönyvtárat az aktuális könyvtárra Start-Job-ban (#10920) (Köszönöm) (Köszönöm @iSazonov!)
- Legyen $PSCulture következetesen tükrözni a foglalkozás közbeni kulturális változásokat (#10138) (Köszönöm) @iSazonov!)
Motorfrissítések és javítások
- Fejlesztések a távoli szcenáriók megszakítási pont API-iban (#11312)
- Javítom a PowerShell osztálydefiníció szivárgását egy másik Runspace-be (#11273)
- Javítsuk ki a formázási regressziót, amelyet a 7.0.0-Preview1-ben hozzáadott FirstOrDefault primitív (#11258) adott
- További Microsoft modulok a PS7 Telemetriában (#10751)
- Legyen jóváhagyott funkciók nem kísérleti (#11303)
- Frissítse a ConciseView-t, hogy használja a TargetObject-et, ha alkalmazható (#11075)
- Javítsa meg a nullReferenceException-t a CompletionCompleters nyilvános metódusokban (#11274)
- Javítsd meg a lakásszál állapotellenőrzését nem Windows platformokon (#11301)
- PSModulePath beállítás frissítése a folyamat- és gépkörnyezeti változók összekötéséhez (#11276)
- Emeld a .NET Core-t 3.1.0-ra (#11260)
- Javítsa meg a $PSHOME felismerését a $env:PATH (#11141) előtt
- Engedd meg a pwsh-nak, hogy örökölje a $env:PSModulePath-t, és engedélyezd a powershell.exe helyesen indulását (#11057)
- Áthelyezés .NET Core 3.1 preview 1-re (#10798)
- Refaktorálja, reparse tag ellenőrzések fájlrendszer-szolgáltatóban (#10431) (Köszönöm @iSazonov!)
- Cseréld ki a CR-t és az új sort egy 0x23CE karakterre a script logingben (#10616)
- Az erőforrás-szivárgás javítása az eseménykezelő regisztrációjának törlésével az AppDomain.CurrentDomain.ProcessExit (#10626) oldalról
- Támogatás hozzáadása az ActionPreference.Break-hez, hogy hibakeresővé törjünk, amikor Debug, Error, Information, Progress, Verbose vagy Warning üzenetek generálódnak (#8205) (Köszönöm @KirkMunro!)
- Engedélyezze a vezérlőpanel bővítmények indítását a PowerShell-en belül anélkül, hogy .CPL bővítményt megadnánk. (#9828)
- Támogatni negatív számokat -split operátorban (#8960) (Köszönöm @ece-jacob-scott!)
Általános Cmdlet frissítések és javítások
- Javítás a Raspbian fájlváltoztatások időpontjának beállításával kapcsolatban a UnixStat Experimental Feature (#11313)
- Hozzáadj -AsPlainText ConvertFrom-SecureString-hoz (#11142)
- Hozzáadva WindowsPS verzióellenőrzést a WinCompat (#11148) számára
- Hibajelentés javítása néhány WinCompat helyzetben (#11259)
- Hozzáadni natív bináris feloldót (#11032) (Köszönöm @iSazonov!)
- Frissítse a karakterszélesség számítását, hogy megfelelően tisztelje a CJK karaktereket (#11262)
- Add hozzá Unblock-File macOS-hez (#11137)
- Javítsd a regressziót Get-PSCallStack-ben (#11210) (Köszi @iSazonov!)
- A ScheduledJob modul automatikus betöltésének eltávolítása Job cmdlet-ek használatakor (#11194)
- Add hozzá az OutputType-t Get-Error cmdlethez, és őrizze meg az eredeti típusneveket (#10856)
- Null hivatkozás javítása a SupportsVirtualTerminal tulajdonságban (#11105)
- Hozzáadni a limit ellenőrzést Get-WinEvent-ban (#10648) (Köszönöm @iSazonov!)
- Javítsuk meg a parancs futásidőt, hogy a StopUpstreamCommandsException ne töltődjön fel -ErrorVariable-ban (#10840)
- Állítsd be a kimeneti kódolást [Console]::OutputEncoding natív parancsokhoz (#10824)
- Többsoros kódblokkok támogatása példákban (#10776) (Köszönöm @Greg-Smulko!)
- Add Culture paramétert Select-String cmdlethez (#10943) (Köszönöm @iSazonov!)
- Javítsd Start-Job működő könyvtár útját a hátsó visszavágással (#11041)
- ConvertFrom-Json: A gyűjtemények alapértelmezett felbontása (#10861) (Köszönöm @danstur!)
- Használj kis- és nagybetűérzékeny hashtable-t Group-Object cmdlethez -CaseSensitive és -AsHashtable kapcsolókkal (#11030) (Köszönöm @vexx32!)
- Kezeld a kivételt, ha a fájlok felsorolása nem működik, amikor az út újraépítése helyes betűtípusra (#11014)
- Javítsa meg a ConciseView-t, hogy az Activity (Activity) szerepeljen a myCommand helyett (#11007)
- Engedélyezzük, hogy webes cmdlet-ek figyelmen kívül hagyják a HTTP hibastátuszokat (#10466) (Köszönöm @vdamewood!)
- Több CommandInfo vezetékezésének javítása Get-Command-re (#10929)
- Add vissza Get-Counter cmdlet Windowshoz (#10933)
- Tedd ConvertTo-Json kezelni az [AutomationNull]::Value és [NullString]::Value $null (#10957)
- Zárójelek eltávolítása az ipv6 címről SSH távirányítóhoz (#10968)
- Javítsd ki a crash-t, ha a pwsh-nak küldött parancs csak boş helyet tartalmaz (#10977)
- Keresztplatformos Get-Clipboard és Set-Clipboard hozzáadva (#10340)
- Javítottam a fájlrendszer objektum eredeti útját beállítva, hogy ne legyen extra utólagos slash (#10959)
- Támogatás $null ConvertTo-Json-hez (#10947)
- Add vissza Out-Printer parancsot Windowson (#10906)
- Javítsd Start-Job -WorkingDirectory helyes helyet (#10951)
- Return vissza alapértelmezett értéket, amikor null értéket kapsz egy beállításhoz PSConfiguration.cs-ben (#10963) (Köszönöm @iSazonov!)
- Az IO kivételt nem lezáróként kezelni (#10950)
- Hozzáadjuk a GraphicalHost assembly funkciót az Out-GridView, Show-Command és Get-Help -ShowWindow (#10899) engedélyezéséhez
- Vedd el a ComputerName-t pipeline-on keresztül Get-HotFix-ban (#10852) (Köszönöm @kvprasoon!)
- Javítsd meg a panel kitöltését a paramétereknél, hogy a közös paraméterek elérhető módon mutassa (#10850)
- Javítsd ki a GetCorrectCasedPath() funkciót, hogy először ellenőrizzem, vissza-e bármilyen rendszerfájlbejegyzés, mielőtt a First() (#10930) hívná
- Állítsd be a munkakönyvtárat az aktuális könyvtárra Start-Job-ban (#10920) (Köszönöm) (Köszönöm @iSazonov!)
- Változtasd meg a TabExpansion2-t, hogy ne legyen -CursorColumn, és kezeld $InputScript.Hossz (#10849)
- Kezeld az esetet, amikor a gazda nem tér vissza a képernyőn sorokat vagy oszlopokat (#10938)
- Javítsd ki az akcentusszínek használatát azoknál a hoszteknél, amelyek nem támogatják azokat (#10937)
- Add vissza Update-List parancsot (#10922)
- FWLink azonosító frissítése Clear-RecycleBin-re (#10925)
- A tab befejezése közben ugord át a fájlt, ha nem tudod olvasni a fájl attribútumokat (#10910)
- Add vissza Clear-RecycleBin Windowshoz (#10909)
- Add
$env:__SuppressAnsiEscapeSequenceshozzá a vezérléshez, hogy legyen-e VT escape sorozat a kimenetben (#10814) - Add hozzá -NoEmphasize paramétert Select-String kimenet színezéséhez (#8963) (Köszönöm) (Köszönöm @derek-xia!)
- Add vissza Get-HotFix cmdletet (#10740)
- Tedd Add-Type használhatóvá olyan alkalmazásokban, amelyek PowerShell-t üzemeltetnek (#10587)
- Használj hatékonyabb értékelési sorrendet a LanguagePrimitives.IsNullLike() (#10781) (Köszönöm) @vexx32!)
- Javítsa a vegyes gyűjtögető bemenet és a vezetékes bemenetek kezelését Format-Hex-ban (#8674) (Köszönöm) (Köszönet @vexx32!)
- Használj típusváltást az SSHConnection hashtable-okban, ha az érték nem egyezik a várt típussal (#10720) (Köszönöm) @SeeminglyScience!)
- Javítsd ki Get-Content -ReadCount 0 viselkedést, amikor -TotalCount be van állítva (#10749) (Köszönöm @eugenesmlv!)
- Reword hozzáférés elutasított hibaüzenet Get-WinEvent-ban (#10639) (Köszönöm @iSazonov!)
- Engedélyezd a tab teljesítését olyan változó kiosztáshoz, amely enum vagy típuskorlátozott (#10646)
- Távolítsd el a nem használt SourceLength távirányító tulajdonságot, ami formázási problémákat okoz (#10765)
- Hozzáadj -Delimiter paramétert ConvertFrom-StringData-be (#10665) (Köszönöm @steviecoaster!)
- Pozíciós paraméter hozzáadása ScriptBlockhoz, amikor SSH-val Invoke-Command használod (#10721) (Köszönöm @machgo!)
- A sorkontextus információinak megjelenítése, ha több sor, de nincs script név a ConciseView (#10746) esetében
- Támogatás hozzáadása \wsl$\ útvonalakhoz fájlrendszer-szolgáltatóhoz (#10674)
- Hozzáadjuk a hiányzó token szöveget a TokenKind.QuestionMark elemzőjéhez (#10706)
- Állítsuk be minden ForEach-Object -Parallel futó szkript aktuális munkakönyvtárát ugyanarra a helyre, mint a hívó szkript. (#10672)
- Cseréld api-ms-win-core-file-l1-2-2.dll Kernell32.dll-re a FindFirstStreamW és FindNextStreamW API-khoz (#10680) (Köszönöm) (Köszönöm) @iSazonov!)
- Tweak help formating script módon, hogy tolerantabb legyen StrictMode (#10563)
- Hozzáadj -SecurityDescriptorSDDL paramétert New-Service-be (#10483) (Köszönöm) @kvprasoon!)
- Eltávolítani az információs kimenetet, konszolidálni a ping használatát Test-Connection-ben (#10478) (Köszönöm) @vexx32!)
- Olvass speciális újraértelmezési pontokat anélkül, hogy hozzáférnél (#10662) (Köszönöm @iSazonov!)
- Közvetlen Clear-Host kimenet a terminálra (#10681) (Köszönöm @iSazonov!)
- Hozzáadj vissza newline-t Format-Table és -Property csoportosításához (#10653)
- Távolítsd el a [ValidateNotNullOrEmpty] fájlt a -InputObject-ról Get-Random-en, hogy engedélyezze az üres stringet (#10644)
- Legyen javaslatrendszer stringtávolsági algoritmus nagybetű-érzékeny (#10549) (Köszönöm) @iSazonov!)
- Null referencia kivétel javítása ForEach-Object -Parallel bemeneti feldolgozásban (#10577)
- PowerShell csoport-szabályzat definíciók hozzáadása (#10468)
- Frissítse a konzol hostját, hogy támogassa az XTPUSHSGR/XTPOPSGR VT vezérlőszekvenciákat, amelyeket kompozitációs helyzetekben használnak. (#10208)
- A WorkingDirectory paraméter hozzáadása Start-Job-be (#10324) (Köszönöm @davinci26!)
- Távolítsd el azt az eseménykezelőt, amely a megszakítási pontok változtatásait tévesen replikálta a host runspace debuggerbe (#10503) (Köszönöm @KirkMunro!)
- Cseréld api-ms-win-core-job-12-1-0.dll Kernell32.dll-re a Microsoft.PowerShell.Commands.NativeMethods P/Invoke API(#10417) (Köszönöm @iSazonov!)
- Javítsd ki a hibás kimenetet New-Service változó és -OutVariable (#10444) (Köszönöm) @kvprasoon!)
- Javítsd meg a globális eszközproblémákat a kilépési kód, parancssori paraméterek és az útvonal (#10461) körül
- A OneDrive-ba történő rekurzió javítása – a FindFirstFileEx() módosítása a SafeFindHandle típusra (#10405)
- Hagyd ki a PSReadLine automatikus betöltését Windowson, ha az NVDA képernyőolvasó aktív (#10385)
- A PowerShell-rel beépített modul verziók bővítése 7.0.0.0-ra (#10356)
- Hozzáadjuk a hibát Add-Type-be, ha már létezik azonos nevű típus (#9609) (Köszönöm @iSazonov!)
Performance
- Kerüld a zárás használatát a Parser.SaveError (#11006) fájlban
- Javítsd a gyorsítótározást új Regex példányok létrehozásakor (#10657) (Köszönöm @iSazonov!)
- Javítsa a PowerShell beépített típusú adatainak feldolgozását a types.ps1xml, typesV3.ps1xml és GetEvent.types.ps1xml (#10898) adatbázisaiból
- Frissítse a PSConfiguration.ReadValueFromFile-t, hogy gyorsabb és memóriahatékonyabb legyen (#10839)
- Kisebb teljesítményjavítások hozzáadása a runspace inicializációhoz (#10569) (Köszönöm @iSazonov!)
- Gyorsítsd ForEach-Object a leggyakrabban használt forgatókönyveihez (#10454), és javítsuk meg ForEach-Object -Parallel teljesítményproblémát sok runspace-nél (#10455)
Kódkarbantartás
- A hozzászólás és elem szöveg módosítása a Microsoft szabványainak megfelelőnek (#11304)
- Takarítási stílusproblémák Compiler.cs-ban (#10368) (Köszönöm @iSazonov!)
- Távolítsd el a használaton kívüli típusváltót a CommaDelimitedStringCollection (#11000) esetében (Köszönöm @iSazonov!)
- Takarítási stílus InitialSessionState.cs-ban (#10865) (Köszönöm @iSazonov!)
- Kód tisztítás a PSSession osztályhoz (#11001)
- Távolítsd el a nem működő 'futtasd Update-Help Get-Help-ről, amikor Get-Help először fut' funkciót (#10974)
- Stílusproblémák javítása (#10998) (Köszi @iSazonov!)
- Takarítás: használd a beépített típusú álnévet (#10882) (Köszönöm) @iSazonov!)
- Távolítsa el a használatlan ConsolePrompting beállításkulcsot, és kerülje a felesleges string létrehozását a ExecutionPolicy beállítás lekérdezésekor (#10985)
- Kapcsold ki a napi verziók frissítési értesítési ellenőrzését (#10903) (Köszönöm @bergmeister!)
- Restore debugging API lost in #10338 (#10808)
- Távolítsa el a már nem használt WorkflowJobSourceAdapter hivatkozást (#10326) (Köszönöm @KirkMunro!)
- Tisztítsd meg a COM interfészeket ugrólista kódban a PreserveSig attribútumok javításával (#9899) (Köszönöm @weltkante!)
- Írj hozzá egy hozzászólást, ami elmagyarázza, miért nem -ia -InformationAction közös paraméter (#10703) álnév (Köszönöm) @KirkMunro!)
- Átnevezd InvokeCommandCmdlet.cs-t InvokeExpressionCommand.cs-re (#10659) (Köszönöm @kilasuit!)
- Kisebb kód tisztítások hozzáadása a frissítési értesítésekhez kapcsolódóan (#10698)
- Távolítsd el a lejáratott munkafolyamat-logikát a távoli beállítási szkriptekből (#10320) (Köszönöm) @KirkMunro!)
- Frissítsd a súgó formátumot, hogy megfelelő esetet használjunk (#10678) (Köszönöm) @tnieto88!)
- A CodeFactor stílusú problémák tisztítása, amelyek az elmúlt hónapban érkeztek commitekben (#10591) (Köszi @iSazonov!)
- Javított elírás a PSTernaryOperator kísérleti funkciójának leírásában (#10586) (Köszönöm @bergmeister!)
- Konvertáld az ActionPreference.Suspend enumeration értéket egy nem támogatott, fenntartott állapotba, és szüntesd el az ActionPreference használatának korlátozását. Figyelmen kívül hagyd a preference változókat (#10317) (Köszönöm) (Köszönöm) @KirkMunro!)
- Cseréld le a ArrayListet List T-re<>, hogy olvashatóbb és megbízhatóbb kódot kapj anélkül, hogy változtatnád a funkciókat (#10333) (Köszönöm)@iSazonov!)
- Kód stílusú javításokat a TestConnectionCommand (#10439) (Köszönöm) @vexx32!)
- Tisztítsd meg az AutomationEngine-t, és távolítsd el a plusz SetSessionStateDrive meduációs hívást (#10416) (Köszönöm @iSazonov!)
- Nevezd át az alapértelmezett ParameterSetName visszanevezését Delimiterre ConvertTo-Csv és ConvertFrom-Csv (#10425)
Tools
- Alapértelmezett beállítás hozzáadása az SDKToUse tulajdonsághoz, hogy az VS-ben (#11085) épüljön be
- Install-Powershell.ps1: Paraméter hozzáadása az MSI telepítéshez (#10921) (Köszönöm @MJECloud!)
- Alapvető példákat adj install-powershell.ps1-hez (#10914) (Köszönöm @kilasuit!)
- Tegyük Install-PowerShellRemoting.ps1 kezelni az üres stringet a PowerShellHome paraméterben (#10526) (Köszönöm) (Köszönöm @Orca88!)
- Váltás /etc/lsb-release (etc/os-release) verzióról install-powershell.sh/etc/os-release (#10773) (Köszönöm @Himura2la!)
- Nézd meg pwsh.exe és pwsh-t napi verzióban Windowson (#10738) (Köszönöm) @centreboard!)
- Távolítsa el a felesleges csapot installpsh-osx.sh (#10752)
- Frissítsem install-powershell.ps1, hogy ellenőrizzem, van-e már telepített napi verzió (#10489)
Tesztek
- Megbízhatatlan DSC teszt várakozásban (#11131)
- Fix stringdata teszt a hashtables kulcsainak helyes validálásához (#10810)
- Tesztmodulok kitöltése (#11061) (Köszönöm @iSazonov!)
- Növelje az időt a tesztelési URL (#11015) újrapróbálkozása között
- Frissítse a teszteket, hogy pontosan leírja a tesztműveleteket. (#10928) (Köszönöm @romero126!)
- Ideiglenes skip a lapos teszt TestAppDomainProcessExitEvenHandlerNotLeaking (#10827)
- Tedd stabil az eseménykezelő szivárgás tesztet (#10790)
- Szinkron nagybetű a CI YAML-ben (#10767) (Köszönöm @RDIL!)
- Teszt hozzáadása az eseménykezelő szivárgás javításához (#10768)
- Add hozzá Get-ChildItem tesztet (#10507) (Köszönöm @iSazonov!)
- Cseréld ki a kétértelmű nyelvezetet a tesztekhez a váltástól paraméterre a pontosság érdekében (#10666) (Köszönöm) @romero126!)
- Kísérleti próba hozzáadása ForEach-Object -Parallel tesztekhez (#10354) (Köszönöm @KirkMunro!)
- Tesztek frissítése az Alpine validációhoz (#10428)
Építési és csomagfejlesztések
- Javítsa meg a Nuget csomagaláírást Koordinált Csomag Buildhez (#11316)
- Függőségek frissítése a PowerShell Galériából és a NuGet (#11323)
- Bump Microsoft.ApplicationInsights verziót 2.11.0-ról 2.12.0-ra (#11305)
- Bump Microsoft.CodeAnalysis.CSharp verziót 3.3.1-től 3.4.0-ra (#11265)
- Frissítések csomagjai Debian 10 és 11 verziókhoz (#11236)
- Csak az RC (#11162) előtt engedélyezett kísérleti funkciók engedélyezett
- Frissítsd a macOS minimum verzióját (#11163)
- Bump NJsonSchema 10.0.27-től 10.0.28-ig (#11170)
- Linkek frissítése README.md és metadata.json verzióban a Preview.5 (#10854)
- Válaszd ki azokat a megfelelőségi tesztekhez tartozó fájlokat, amelyek a PowerShell tulajdonában vannak (#10837)
- Engedd meg, hogy a win7x86 msix csomag összeálljon. (Belső 10515)
- Engedélyezzük a szemantikai verziók átadását a NormalizeVersion függvénynek (#11087)
- Bump .NET core framework 3.1-preview.3 (#11079) verzióra
- Emeld a PSReadLine-t a 2.0.0-beta5-ről 2.0.0-beta6-ra a /src/Modules (#11078)
- Bump Newtonsoft.Json 12.0.2-től 12.0.3-ra (#11037) (#11038)
- Hozzáadjuk a Debian 10, 11 és CentOS 8 csomagokat (#11028)
- Töltsd fel Build-Info Json fájlt a ReleaseDate mezővel (#10986)
- A .NET core framework 3.1-preview.2 (#10993) verzióba
- Engedélyezze az x86 MSIX csomag (#10934) build buildjét
- Frissítse a dotnet SDK telepítő szkript URL-jét a build.psm1-ben (#10927)
- Bump Markdig. Aláírva 0.17.1-től 0.18.0-ig (#10887)
- Bump ThreadJob verzió 2.0.1-től 2.0.2-ig (#10886)
- Az AppX Manifest és Packaging modul frissítése, hogy megfeleljen az MS Store követelményeinek (#10878)
- Frissítse a PowerShell SDK csomaghivatkozását preview.5-re (Internal 10295)
- Frissítés ThirdPartyNotices.txt (#10834)
- Bump Microsoft.PowerShell.Native to 7.0.0-preview.3 (#10826)
- Bump Microsoft.ApplicationInsights-t 2.10.0-ról 2.11.0-ra (#10608)
- Bump NJsonSchema 10.0.24-től 10.0.27-ig (#10756)
- MacPorts támogatás hozzáadása az építési rendszerhez (#10736) (Köszönöm @Lucius-Q-User!)
- Bump PackageManagement verzió 1.4.4-ről 1.4.5-re (#10728)
- Emeld az NJsonSchema 10.0.23-tól 10.0.24-ig (#10635)
- Környezeti változó hozzáadása az ügyfél/szerver telemetria megkülönböztetéséhez az MSI-ben (#10612)
- PSDesiredStateConfiguration 2.0.3-ból 2.0.4-re (#10603) történő megbüntetés
- Bump Microsoft.CodeAnalysis.CSharp verzióból 3.2.1-re 3.3.1-re (#10607)
- Frissítés a .Net Core 3.0 RTM-hez (#10604) (Köszönöm @bergmeister!)
- Frissítsd az MSIX csomagolást, hogy a verzió megfeleljen a Windows Store követelményeknek (#10588)
- PowerShell meghajtásaVerziót szerezzen 2.2-től 2.2.1-ig (#10382)
- Bump PackageManagement verzió 1.4.3-tól 1.4.4-ig (#10383)
- Frissítés README.md és metadata.json 7.0.0-preview.4 verzióhoz (belső 10011)
- Frissítsd a .Net Core 3.0 verziót Preview 9-ről RC1-re (#10552) (Köszönöm @bergmeister!)
- Fixáld az ExperimentalFeature lista generálást (Internal 9996)
- Bump PSReadLine verzió 2.0.0-beta4-ből 2.0.0-beta5-re (#10536)
- Fix release build script beállítása a release tag beállításához
- Frissítse a Microsoft.PowerShell.Native verziót 7.0.0-preview.2-re (#10519)
- Frissítés Netcoreapp3.0 preview9-re (#10484) (Köszönöm @bergmeister!)
- Győződj meg róla, hogy a napi összehangolt build tudja, hogy napi build (#10464)
- Frissítsd a kombinált csomagverziót, hogy kiadd a napi verziókat (#10449)
- Eltávolítani az appveyor hivatkozást (#10445) (Köszönöm @RDIL!)
- Bump NJsonSchema verzió 10.0.22-től 10.0.23-ig (#10421)
- Távolítsd el a linux-x64 build mappa törlését, mert néhány Alpine függőségnek szüksége van rá (#10407)
Dokumentáció és segítség tartalom
- A változásnaplók egy naplóba refaktorálhatók kiadásonként (#11165)
- Fix FWLinks for PowerShell 7 online help documents (#11071)
- Frissítés CONTRIBUTING.md (#11096) (Köszönöm @mklement0!)
- Javítsd meg a telepítési dokumentum linkeket README.md-ban (#11083)
- Példákat ad install-powershell.ps1 szkripthez (#11024) (Köszi) @kilasuit!)
- Javítás a Select-String hangsúlyhoz és Import-DscResource CHANGELOG.md-ben (#10890)
- Távolítsd el az elavult linket powershell-beginners-guide.md-ről (#10926)
- Egyesítsd a stabil és szervizelési változásnaplókat (#10527)
- Frissítés .NET verziót használt a build dokumentációban (#10775) (Köszönöm) @Greg-Smulko!)
- Cseréld le az MSDN-ről a Microsoft Learn linkeket powershell-beginners-guide.md-ben (#10778) (Köszönöm @iSazonov!)
- Javítsa a törött DSC áttekintési link (#10702)
- Frissítsd Support_Question.md-et, hogy linkelj a Stack Overflow-ra, mint egy másik közösségi forrásra (#10638) (Köszönöm @mklement0!)
- Processzorarchitektúra hozzáadása a disztribúciós kérelmek sablonhoz (#10661)
- Új PowerShell MoL könyv hozzáadása a PowerShell dokumentáció tanulásához (#10602)
- Frissítés README.md és metaadatok a v6.1.6 és v6.2.3 kiadásokhoz (#10523)
- Javítottam ki egy elírási hibát README.md-ban (#10465) (Köszönöm @vedhasp!)
- Csatolj egy hivatkozást a PSKoans modulra a Learning Resources dokumentációhoz (#10369) (Köszönöm @vexx32!)
- Frissítés README.md és metadata.json 7.0.0-preview.3 (#10393) verzióhoz