Software-update: PowerShell 7.4.6

PowerShell logo (79 pix) Microsoft heeft versie 7.4.6 van PowerShell uitgebracht. Deze objectgeoriënteerde shell- en scripttaal voor taakautomatisering, die bestaat uit een commandlineshell, 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.4 is gebouwd met .NET versie 8.0. Hieronder is de changelog voor deze uitgave te vinden.

Bump .NET SDK to 8.0.403
  • Copy to static site instead of making blob public (#24269) (#24473)
  • Add ability to capture MSBuild Binary logs when restore fails (#24128)
  • Keep the roff file when gzipping it. (#24450)
  • Update PowerShell-Coordinated_Packages-Official.yml (#24449)
  • Update and add new NuGet package sources for different environments. (#24440)
  • Add PMC mapping for Debian 12 (bookworm) (#24413)
  • Fixes to Azure Public feed usage (#24429)
  • Delete assets/AppImageThirdPartyNotices.txt (#24256)
  • Delete demos directory (#24258)
  • Add specific path for issues in tsaconfig (#24244)
  • Checkin generated manpage (#24423)
  • Add updated libicu dependency for Debian packages (#24301)
  • Add mapping to azurelinux repo (#24290)
  • Update vpack pipeline (#24281)
  • Add BaseUrl to buildinfo json file (#24376)
  • Delete the msix blob if it's already there (#24353)
  • Make some release tests run in a hosted pools (#24270)
  • Create new pipeline for compliance (#24252)
  • Use Managed Identity for APIScan authentication (#24243)
  • Check Create and Submit in vPack build by default (#24181)
  • Capture environment better (#24148)
  • Refactor Nuget package source creation to use New-NugetPackageSource function (#24104)
  • Make Microsoft feeds the default (#24426)
  • Bump to .NET 8.0.403 and update dependencies (#24405)

Microsoft PowerShell

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

Door Bart van Klaveren

Downloads en Best Buy Guide

23-10-2024 • 07:30

15

Submitter: danmark_ori

Bron: Microsoft

Update-historie

Reacties (15)

15
15
12
1
0
0
Wijzig sortering
Ik zit weleens een beetje te denken over de weg die Microsoft inslaat. We hebben nu Command Prompt, wat er eigenlijk vanaf het begin der tijden in zit. Ik weet nog dat mijn 486 standaard opstartte in DOS en je vanuit die command prompt naar Windows kon gaan.
Toen kwam PowerShell, en wie niet goed oplet heeft inmiddels 3 of 4 verschillende versies van PowerShell op de computer staan. Eigenlijk zou PowerShell makkelijk CMD kunnen vervangen. Vast niet zo'n populaire mening, maar sinds ik meer en meer in PowerShell doe gebruik ik CMD eigenlijk nooit meer.
Dan is er ook nog Windows Terminal. En ja, wat is dat nou weer? Alles wat CMD en PowerShell ook kunnen maar dan nog meer en mooier (tabs!!), meer kleurtjes, GIFs, Linux commands (kan PowerShell volgens mij ook met een uitbreiding) en zo.

Is het niet een beetje overdreven om dit allemaal in een OS aan te bieden? Ik bedoel, ik weet dat er 3 rekenmachines in Windows 10 zaten (2 keer calc.exe en de app) dus heel gek is het nou ook weer niet als je het zo bekijkt.
Op je 486 had je DOS staan, en hoewel die standaard een command.com opstarte als opdrachtprompt is dat niet te vergelijken met de cmd.exe die je vandaag in Windows hebt. Ja, ze hebben dezelfde syntax en zien er visueel hetzelfde uit, maar ze zijn verschillend.

Met Windoes XP en het .Net framework is microsoft ook gaan beginnen nadenken over een moderne opdrachtprompt, zoals andere besturingssystemen dat ook hebben. Hierbij hebben we Windows PowerShell geintroduceerd. Dit is nooit bedoeld als direct vervanger voor cmd.exe en er zijn nog altijd opdrachten die je niet kunt doen in PowerShell vandaag die wel goed gaan in cmd.exe. De syntax parsing zit je soms gewoon in de weg. En daar Microsoft volledig inzet op neerwaartse compatibiliteit kan het ene dus het andere niet vervangen.

Met de introductie van .Net Core en het meer open source karakter ervan heeft Microsoft ook PowerShell 7 geintroduceerd welke naast Windows PowerShell draait, wat zal blijven steken op versie 5.x. Je hebt dus maximaal 2 versies van PowerShell naast elkaar draaien. En omdat er opnieuw functionele verschillen bestaan tussen die twee blijft Microsoft ze ook alle twee aanbieden. Je hebt scripts die niet willen werken in PowerShell 7 en er zijn nieuwere scripts die niet kunnen werken in Windows PowerShell.

Maar je moet ook toegang kunnen krijgen tot die opdrachtprompt, je hebt een applicatie nodig om deze weer te kunnen geven. Decennia lang was dat connhost.exe, de console in Windows. Maar deze begon zijn leeftijd te vertonen en had ook veel beperkingen in tegenstelling tot vele andere terminal emulators. Microsoft heeft er daarom voor gekozen een volledig nieuwe terminal emulator te bouwen, genaamd Windows Terminal. Deze kan dan sessies van cmd, Windows Powershell en PowerShell draaien alsook andere CLI tools. Je zou er zelfs bash mee kunnen openen als je wenst.
Bedankt voor de toelichting. Zoverre is me inmiddels duidelijk dat Terminal voornamelijk een interface is op verschillende omgevingen, met GIFs, zoals PowerShell en CMD. Dat er een PowerShell en Windows PowerShell bestaat. Dat CMD en DOS niet hetzelfde waren, ja dat was wel duidelijk. Ik vond het voornamelijk lollig dat het destijds weer zo naar voren kwam. Net als dat ik het nog steeds lollig vind dat MMC in Windows 11 nog steeds lijkt op MMC uit Windows NT.
Windows Terminal is echt iets anders dan Powershell of Command Prompt, met Windows Terminal kun je ook andere terminals draaien, zoals de WSL shell, Azure Shell, Git Bash en vele anderen als je de profielen daarvoor in Windows Terminal hebt toegevoegd. De Windows Terminal is dus echt de grafische schil over de verschillende prompts heen.

Overigens is Windows Powershell iets anders dan de Powershell die we vandaag de dag kennen/gebruiken. Wellicht een voorloper, aangezien ik niet de hele geschiedenis ken, maar bepaalde functies die wel in Powershell zitten, zitten niet in Windows Powershell.
Windows PowerShell is gebaseerd op .NET Framework en daardoor Windows-only. PowerShell is gebaseerd op .NET Core en daardoor multiplatform. Dat is in het kort het verschil.
Ik draaide onlangs een stukje Powershell code in Windows Powershell, maar kreeg de melding dat een cmdlet, functie, of whatever, niet bekend was in Windows Powershell, waar het wel draaide in Powershell zelf. Dus ook inhoudelijk zitten er verschillen tussen de twee, los van waar het op gebouwd is.
Zeker. Windows PowerShell wordt niet meer ontwikkeld. Alle nieuwe ontwikkeling zit al jaren in PowerShell. Logisch dat er dan verschillen ontstaan.
Kun je een stuk code delen?
Oh, dat heb ik helaas niet meer. Was voor een of andere check om iets te installeren of de files ervan te checken op integriteit. Weet niet meer precies wat het was, is al even geleden.
Windows Terminal is geen vervanger voor cmd.exe of powershell. Het is letterlijk de interface om cmd.exe/powershell/bash. Deze vervangt de standaard interface voor cmd.exe/powershell/etc.. (Het bekende zwarte schermpje)
Ah, dus Windows Terminal voegt de verschillende omgevingen samen in één interface.
Terminal is feitelijk moderne vervanger van wat vroeger 'conhost' was - de interface naar de console/shells. Hij kan meerdere soorten shells (cmd.exe, powershell, etc...) hosten en draaien.
In windows 11 hebben ze tegenwoordig de optie om default Powershell te gebruiken ipv CMD en men stuurt daar ook meer op aan maar er zitten nog een paar generaties gebruikers achter die gaan roepen als het ineens weg is; persoonlijk spring ik regelmatig terug naar cmd omdat die oude commandos nu eenmaal ingebakken zitten en niet zo verbose zijn om uit te tikken in PS :)

Windows Powershell (de 6 en 7.x) versies is iets anders als de oude 5.1 powershell. Die laatste is er nog vanwege compatibility en draait op .NET 4.x, windows only; in 6 en 7 breekt voor bepaalde zaken de compatibility met 5, deze draait tegen een andere .NET framework (CORE) en kan je tevens ook nog crossplatform gebruiken want je kunt hem gewoon op linux draaien bijvoorbeeld.

Is het een beetje rommelig? zeker...maar goed, ik kan op linux ook 20 verschillende shells en script talen gebruiken dus echt raar is het niet.

Microsoft heeft wel een track record qua backwards compatibility; 20 jaar is ze niet vreemd en dat is een dingetje in de zakelijke markt. Linux gaat veel harder en breekt veel sneller daarin, niet dat het slecht is om te innoveren, maar sommige bedrijven draaien op hele oude scripts/tools die geen mens wil/kan onderhouden...
Dank je voor de toelichting!
Wat heeft het voor nut om Powershell op Linux te gebruiken?
Powershell is een script/programmeer taal. Die is veel breder inzetbaar dan alleen op msWindows. Vergelijk het onder linux met de keuze in shell (sh, csh, tcsh, ksh, bash...) Of misschien wel meer richting perl of python.

En ja, het nut om powershell onder linux te gebruiken is om een overstap of overgang te versoepelen. Welke overstap of overgang en door wie kan en mag je helemaal zelf invullen. Zelf denk ik onderandere aan wsl-gebruikers.

Op dit item kan niet meer gereageerd worden.