Software-update: PowerShell 7.3.0

PowerShell logo (79 pix) Microsoft heeft versie 7.3 van PowerShell uitgebracht. PowerShell is een objectgeoriënteerde shell- en scripttaal voor taakautomatisering, die bestaat uit een command-line shell, een scripttaal en een framework voor configuratiebeheer. De software bestaat al sinds 2006 en is sinds versie 2.0 standaard onderdeel van Windows. Sinds eind 2016 is het opensource en ook beschikbaar voor Linux en macOS. PowerShell 7.3 is gebouwd met de eveneens net uitgekomen .NET versie 7. De changelog voor deze uitgave kan hieronder worden gevonden.

v7.3.0 Release of PowerShell

General Cmdlet Updates and Fixes
  • Correct calling cmdlet New-PSSessionOption in script for Restart-Computer (#18374)
Tests
  • Add test for framework dependent package in release pipeline (Internal 23139)
Build and Packaging Improvements

Bump to use internal .NET 7 GA build (Internal 23096)

  • Fix issues with building test artifacts (Internal 23116)
  • Use AzFileCopy task instead of AzCopy.exe
  • Remove AzCopy installation from msixbundle step
  • Add TSAUpload for APIScan (#18446)
  • Add authenticode signing for assemblies on Linux builds (#18440)
  • Do not remove penimc_cor3.dll from build (#18438)
  • Allow two-digit revisions in vPack package validation pattern (#18392)
  • Bump Microsoft.PowerShell.Native from 7.3.0-rc.1 to 7.3.0 (#18413)

v7.3.0-RC1 Release of PowerShell

NOTE

  • PowerShell Direct is only supported on Windows 10, version 1809+
  • Windows 7 is not supported anymore
Breaking Change
  • Update to use ComputeCore.dll for PowerShell Direct (#18194)
Engine Updates and Fixes
  • On Unix, explicitly terminate the native process during cleanup only if it's not running in background (#18215)
General Cmdlet Updates and Fixes
  • Remove the ProcessorArchitecture portion from the full name as it's obsolete (#18320)
Tests
  • Add missing -Tag 'CI' to describe blocks. (#18317)
Build and Packaging Improvements

Bump to .NET 7 to 7.0.100-rc.2.22477.20 (#18328)(#18286)

  • Update ThirdPartyNotices (Internal 22987)
  • Remove API sets (#18304) (#18376)
  • Do not cleanup pwsh.deps.json for framework dependent packages (#18300)
  • Bump Microsoft.PowerShell.Native from 7.3.0-preview.1 to 7.3.0-rc.1 (#18217)
  • Remove unnecessary native dependencies from the package (#18213)
  • Make the link to minimal package blob public during release (#18158)
  • Create tasks to collect and publish hashes for build files. (#18276)(#18277)
  • Add branch counter to compliance build (#18214)
  • Move APIScan to compliance build (#18191)
  • Update MSI exit message (#18137)
  • Remove XML files for min-size package (#18189)

Chocolatey

Versienummer 7.3.0
Releasestatus Final
Besturingssystemen Linux, macOS, Windows Server 2012, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website Microsoft
Download https://github.com/PowerShell/PowerShell/releases/tag/v7.3.0
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

09-11-2022 • 19:41

30 Linkedin

Submitter: weballey

Bron: Microsoft

Reacties (30)

30
30
14
2
0
14
Wijzig sortering
Zit zo te zien nu ook een autocomplete op de command line, waarbij je eerder ingetikte opdrachten makkelijk kunt herhalen. Scheelt redelijk wat tikwerk, samen met de persistente historie.
Met de TAB-toets had je sowieso al een vorm van autocompletion.

Met PSReadline kun je zelfs bladeren en zoeken door de history.
Interessant, zal ik eens bekijken. Maar dat was eigenlijk niet wat ik bedoelde. Als je nu een commando intikt, zie je enigszins vervaagd, meteen wat je de laatste keer met dezelfde letters hebt ingetoetst. Als je dat opnieuw wilt gebruiken, pijltje rechts, en het hele commando staat er.
Ah ja, dat zat er al een poosje in hoor, dat is niet nieuw erbij met 7.3. Wellicht is dat wat verder verbeterd, maar dat weet ik even niet zeker. NIeuw is het in elk geval niet.
Ctrl-R (reverse history search) zoals in bash werkte toch al een tijdje ook in powershell, dacht ik
Klopt gebruik ik ook al best lang in powershell
history | fzf vind ik fijner, heb je fuzzy find op je history
Dit komt door de integratie van psreadline.
Vind je deze variant hinderlijk en zie je suggesties liever onder elkaar, dan kan je met F2 ze in ListView bekijken. Je kunt de suggesties o.b.v. historie of plugins doen of een combinatie van.
Misschien een gekke vraag, maar hoe werkt die nieuwe auto complete?
Als ik intype 'Update-Module Mi' zie ik in donkergrijs erachter staan 'crosoftTeams'. Als ik echter op TAB druk, vult hij een filename in i.p.v. dat hij er MicrosoftTeams van maakt.
Cursor naar rechts zie ik hierboven iemand zeggen.
Pijltje rechts werkt ook.
Ik ben de tab-toets vanuit PowerShell / ISE 5.1 gewend ;)
Wordt dit nu zo populair omdat de UI een zootje is, of is dit gewoon een betere manier van werken voor systeembeheerders?
Het is een betere manier van werken voor systeembeheerders. De UI is al jaren onvoldoende, zeker voor toepassingen zoals Exchange waar de UI al sinds 2007 niet meer alle opties toonde die er in werkelijkheid waren. En dankzij Azure is die nood aan het gebruik van Powershell alleen maar gegroeid, bij mij alvast, omdat de webUI tergend traag is.

Eens je er vertrouwd genoeg mee bent is het eigenlijk ook niet zo moeilijk, als je bash gewoon bent geweest is het voornamelijk aanpassen dat je met objecten omgaat in plaats van met tekst.

Ook de learning curve is relatief vriendelijk, je kan eenvoudig beginnen met rechtstreeks oneliners, korte scriptjes, overstappen naar krachtigere oneliners die aan mekaar schakelt dankzij piping, scripts met loops, variabelen, outputs naar bestanden, databases of mail, en vervolgens naar herbruikbare functies in je eigen modules.

Als je niet weet waar te beginnen raad ik alvast Powershell in a month of lunches aan. Een goed overzichtelijk boek die alles netjes opdeelt in verteerbare stukken. En persoonlijk ben ik ook fan van het feit dat de publisher Manning je automatisch de epub en online versie van het boek geeft als je dit fysiek koopt. (Al is de puur digitale versie natuurlijk goedkoper)
En persoonlijk ben ik ook fan van het feit dat de publisher Manning je automatisch de epub en online versie van het boek geeft als je dit fysiek koopt. (Al is de puur digitale versie natuurlijk goedkoper)
Ah kijk dat is nog eens een nette service. Bedankt voor de tip!
Systeembeheerders doen veel repeterend werk. accounts aanmaken, vm's aanmaken. shares, enz.
Dan is een scripttaal zoals PS wel zo makkelijk.

Tenminste.... todat je 1500 scripts hebt. en die ene niet meer kunt vinden.

Maar het is gewoon makkelijk, en vooral dat dotnet erachter zit, maakt het erg krachtig.
alles wat je kunt bedenken, kun je met ps scripten.
Als je 1500 scripts hebt en die ene niet kumt vinden bedenk je wat er uniek on zit en dan zoek ke je scripts op basis van een unieke eigemschap (bijvoorbeeld een dependancy).
Of je verwerkt alles dat je meer keer dan 5 keer nodig hebt gehad op minstens 2 devices in een functie die je in je modules plaatst voor die omgeving. Dan kan je gewoon in powershell zoeken naar wat je nodig hebt. Als je dan ook nog eens versiecontrole toepast via git zit je normaal wel goed.
Zelf ervaring op veel systemen. Onder unix/linux is het afhankelijk van de job dat er even snel een awk of sed scriptje wordt geschreven. Of gewoon op de commandline een loopje uit tikken.

Onder msWindows staat er vaak wel een notepad open waarin even snel iets van een script wordt uitgeschreven. De cmd-box kan helaas heel slecht loopjes en if-then-else nesten. Daarmeer moet je al snel scriptjes schrijven die je dan weer aanroept. Met powershell is dat in ieder geval een stuk verbeterd.

Over powershell: Veel collega's gebruiken daar de ide en selecteren de code die ze even snel runnen....

Dus ja. vooral voor herhaald werk heb je al snel een oerwoud aan scriptjes... als je ze wilt bewaren in ieder geval.
Kwestie van organiseren zodra je met scripting begint ;)
Mijn scripts krijgen van mij altijd het work-item nummer en naam mee dat mijn projecten in DevOps ook hebben. Gewoon dit nummer in de zoekbalk van je verkenner invullen en presto :Y)
Ik vond het even verwarrend maar dit gaat dus om PowerShell Core, wat niet direct hetzelfde is als de PowerShell in Windows. Dat gezegd kun je het prima onder Windows installeren en naast de Windowsversie draaien (en met Windows terminal zelfs vanuit dezelfde app) maar dit is de versie die je ook op bijv. Linux of Mac kunt gebruiken en blijkbaar is hernoemt naar gewoon PowerShell. Wellicht toch handig om dit er in de beschrijving bij te vermelden.
De "oude" PowerShell heette altijd al Windows PowerShell. Deze heet gewoon PowerShell aangezien ie niet Windows-specifiek meer is. Eigenlijk heel logisch.
Dit inderdaad, er wordt niet meer geiinvesteerd op ontwikkeling van Windows PowerShell.
PowerShell is hetgeen wat verder wordt ontwikkeld: https://learn.microsoft.c...cycle?view=powershell-7.3
Het grote verschil tussen powershell zoals dat met msWindows mee komt en powershell core is de beschikbaarheid van .net spul.

Daarbij aangetekend: Als je de laatste nieuwste powershell core op een msWindows machine zet, dan is daar de .net natuurlijk net zo beschikbaar als in de standaard powershell.

Als os-systeembeheerder ga ik graag uit van de op het os beschikbare versie, die is er immers altijd. Maar als je een script-station hebt waar vandaan je werkt, dan kan je daar heel goed de laatste/nieuwste hebben. Als je er dan maar rekening mee houdt dat zodra je remote gaat werken dat daar alleen maar de daar geïnstalleerde versie beschikbaar is: Onder een oude msWindwos versie ook een oudere powershell. Onder linux standaard niets, dan krijg je de linux script mogelijkheden: perl, bash, sed, awk en nog veel meer...
Powershell in Windows (in ieder geval in Windows 10) is nog steeds een subversie van 5.1. Ik heb daar in Windows Update nooit patches voorbij zien komen, maar ik verwacht dat die wel in cumulatieve of kwaliteitsupdates zitten. Voor de meeste simpele scriptjes is dat meer dan genoeg. Het staat je natuurlijk vrij om modules te installeren waarbij extra cmdlets worden toegevoegd om zo verbinding te maken met externe bronnen.
Only Supported on Windows 10, Build 1809? Lijkt me sterk. Zal wel vanaf bedoeld worden. Windows 11 doet ie het ook.

-> Oeps verkeerd gelezen, was Direct...

[Reactie gewijzigd door hawkeye73 op 9 november 2022 21:24]

Wel een grappige ontwikkeling. Het lijkt wel of Windows en Linus steeds meer naar elkaar toegroeien.
Linux wordt steeds meer cli buiten beeld, vooral voor nieuwe beginners die niet met een terminal willen of kunnen werken.
Windows wordt steeds meer cli waarbij je een terminal wil gebruiken die steeds krachtiger wordt (à la Linux).

Ik gebruik de terminal heel vaak, onder Linux werkt het veel makkelijker dan iedere keer een antal keren op een knop te klikken, en onder Windows gebruik ik de Powershell ook steeds meer, vooral voor debloat scriptjes.

Natuurlijk zullen gewone Windows (en ook steeds meer gewone Linux) gebruikers de terminal niet of nauwelijks gebruiken, maar als je meer ervaren bent of en systeembeheerder is het een mus-have.
Binnen Azure kun je voor je shell ook kiezen tussen Bash of Powershell. Je kunt voor je development-omgeving en pipelines makkelijk AVM's aanmaken die op o.a. Ubuntu draaien. Ergens staat mij bij dat Azure onderhuids ook op Linux draait, maar dat weet ik even niet zeker.
https://github.com/Azure/azure-powershell/issues/18721

7.3 schijnt helaas Azure PowerShell te slopen, er is waarschijnlijk een fix/workaround op handen. Maar als je van Azure PowerShell afhankelijk bent zou ik nog even wachten met upgraden.
Mijn ervaring is dat het in ieder geval nog werkt met PowerShell v7.2.6. Ik meen mij te kunnen herinneren dat 7.2.7 was terug getrokken binnen Windows Update, maar op GitHub staat die versie nog wel ter download beschikbaar. Geen idee of die versie het ook doet.

Hoe dan ook vind ik dit wel erg slordig van Microsoft. Vorige week las ik in diverse fora berichten van enkele jaren geleden waarin dit probleem in beta-versies van 7.3 werd aangekaart. Dat dit ondanks dit gegeven toch in een productieversie terecht komt is natuurlijk 'not done'.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee