Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Microsoft brengt PowerShell Core 6.0 uit voor Windows, macOS en Linux

Microsoft maakt de stabiele versie van zijn crossplatformversie van PowerShell breed beschikbaar. PowerShell Core 6.0, zoals de versie heet, is opensourcesoftware die niet alleen te gebruiken is op Windows, maar ook op macOS en Linux.

PowerShellWie de laatste versie van PowerShell Core niet als update binnenkreeg, kan deze voor Windows en voor macOS en Linux handmatig binnenhalen. Microsoft waarschuwt dat er een probleem is op Linux, waarbij de tool niet zal updaten, omdat packagemanagers denken dat powershell-6.0.0 een eerdere versie is dan powershell-6.0.0-rc2. Het bedrijf werkt eraan om dit op te lossen.

PowerShell Core 6.0 is een doorontwikkeling van PowerShell, die alleen voor Windows beschikbaar was en waarvan de releasecyclus eindigt bij versie 5.1. De tool krijgt alleen nog fixes voor kritieke bugs. PowerShell is gebaseerd op .Net, terwijl PowerShell Core op .Net Core gebaseerd is en daarmee crossplatform kan draaien.

Het betekent wel dat sommige functies, zoals Workflows en Snap-ins, ontbreken in de nieuwe versie. Volgens Microsoft komen enkele functies wellicht terug, maar veel niet. Microsoft ondersteunt PowerShell Core op Windows 7, 8.1 en 10, Windows Server 2008 R2, 2012 R2 en 2016, Ubuntu 14.04, 16.04 en 17.04, Debian 8.7+ en 9, CentOS 7, RHEL 7, OpenSuse 42.2, Fedora 25 en 26 en macOS 10.12 en latere versies. Op Arch Linux, Kali Linux en AppImage, Windows op ARM en Raspbian werkt de tool ook, maar op deze platforms is er nog geen officiële ondersteuning.

 

Door

Nieuwscoördinator

88 Linkedin Google+

Submitter: NoReseth

Reacties (88)

Wijzig sortering
LaTeX is niet een tekst verwerker, het is een opmaak taal net als HTML en MarkDown. Al is LaTeX wel heel uitgedreid.

Om LaTeX document te maken kun je zowel een grafische editor gebruiken als een meer cli georienteerde.

Ik vind de CLI erg prettig onder Linux, gebruik dan eigenlijk altijd VI, niet de meest makkelijker editor om te leren. Maar wel bijna op elk Unix system aanwezig.

Voor development gebruik ik het liefst een grafische editor, dat werkt gewoon weg makkelijker en sneller.
Dan stel ik voor om je even in te lezen, zie bijvoorbeeld vi/vim.
Ik heb vroeger geprogrammeerd met vi op een CLI.
Geen haar op mijn hoofd die daar ooit weer naar terug zou willen.
Dan heb je het nooit geleerd, ik zou willen dat ik goed zou zijn in vim.
Ik ben het niet eens met je stelling; Een grafische interface is makkelijker vanwege de minder stijle leercurve. Echter is een text verwerker als vim toch vele malen krachtiger als het gaat om daadwerkelijke tekst manipulatie. Opmaak e.d. kan je weer met latex doen.
De kracht van een grafische interface zit niet alleen in tekst manipulatie maar ook in tekst presentatie en in een lagere leercurve voor het gebruik van de features.
Zo kan een grafische interface heel goed tekst presenteren in een veel duidelijkere view dan een CLI dat ooit kan. Als je gaat programmeren in een moderne grafische interface als UltraEdit of zoiets dan zie je die voordelen meteen.
Het voordeel is dat als een tool niet doet wat ik wil ik er snel een kan maken die crossplatform werken dit gelijk weer mee kan nemen in mijn scripts. Ik vind de vergelijking met python dan ook een betere dan die met bash.
Powershell is juist makkelijker op te pakken omdat alle commando's een logische naam hebben. Een klein beetje basiskennis van powershell zelf en het systeem wat je wil beheren is voldoende om scripts van derden te begrijpen. En alle cmdlets werken op dezelfde manier, met tab-completion voor de arguments.
Zucht ... alsof er niet genoeg beheerders zijn die niet weten dat gc een alias is voor get-content. Als je op Linux man pages deftig leert *pagen* dan ben je er in mijn opinie ook.
Alsof powershell geen onlogische benamingen heeft. Ik maak even een vergelijking hieronder door de inhoud van een directory te tonen:

Powershell: Get-ChildItem C:\Directory
Bash: ls /directory

Ik vind "Get-ChildItem" echt niet voor de hand liggend als naamgeving voor het tonen van directory inhoud (afgezien van het feit dat "dir" als alias ook werkt in ps).

Met een beetje basiskennis en nader uitzoekwerk kom je met beide systemen gewoon wel waar je moet wezen maar ik zie echt niet waarom Powershell beter is dan Bash. Persoonlijk had ik liever gezien dat Microsoft een systeem bedacht had dat gelijkenissen heeft met hetgeen we in linux/unix al >30 jaar gebruiken, in plaats daarvan hebben we weer een scriptingtaaltje erbij dat qua syntax helemaal nergens op lijkt en voor zover ik kan zien geen bijzondere meerwaarde bied dan andere volwaardige programmeertalen.

tl;dr powershell is rare shit en bied niks nieuws naar mijn mening.
Get-ChildItem is ook niet specifiek voor directories bedoeld.
Get-ChildItem -path hklm:\software... werkt bijv. ook om regkeys te vinden/zoeken
of
Get-ChildItem -path Cert:\* dito in je cert. store


De naamgeving zelf komt voor uit een conventie get-iets, set-iets, remove-iets
Door deze opgelegde beperking heb je niet zoveel meer opties dan ChildItem wat de lading dekt. Maar ik begrijp dat als je gewend bent binnen Linux ls te gebruiken, dat dit even wennen is.

Begrijp me niet verkeerd, zowel bash, als powershell hebben beide hun nut, en in sommige dingen is bash handiger, en in sommige dingen powershell
Ik vind bijv. in Powershell text replacement in een file of string veel simpeler uitgevoerd:
$Variable -replace "text1","text2"
en in bash doe ik dan:
Text="Ik wil pizza"
Replacing="Bier"
Text=${Text//pizza/$Replacing}
Maar in alle eerlijkheid ben ik in geen van beide tegen issues aangelopen die niet op te lossen zijn.

1 argument voor Powershell Core mis ik hier nog: Voor mijn werk doe ik erg veel aan scripting. En het is voor mij i.i.g. erg handig als ik al mijn scripting in 1 taal kan doen
Als ik dus powershell core cross platform kan uitvoeren, kan ik delen van mijn code hergebruiken onder linux..
Als ik powershell zie als commandline dan vergelijk ik het vooral met de vms-commandline: veel te lange commando's, de (oude, cmd-box) alternativen hebben hun voor en nadelen.

Als ik powershell zie als script-taal, dan zie ik dat als een 4-e generatie c.q. object-oriented script taal. Met als 'nadeel' het gekozen groeipad via wmi en .net en zo wat het hele object-oriented zijn onderuit haalt... Gelukkig komt daar met de laatste versies wat verbetering in. Nu de voorbeeld scripts (DrGoogle en zo) op internet nog aanpassen...

Nu ben ik een tijdje uit de unix wereld, maar is daar al een 4-e generatie en/of object-oriented script taal?

Aan de andere kant, powershell is nog niet zo consistent als ik zou willen: Om een gebruiker te selecteren kan je soms uit 4 methodes kiezen, soms maar uit 2.

[Reactie gewijzigd door beerse op 13 januari 2018 21:08]

Mijn opmerking was meer vanuit het optiek van een primair Linux gebruiker. Binnen de Linux ecosysteem zou iets als Perl cli of een van de andere scripting talen een logische uitval zijn voor zo'n toepassing. Wat mijn opmerking natuurlijk achterwege liet is de equivalent van mijn use case voor Cygwin. Het is een van de eerste tools die ik op Windows installeer (icm conemu). De primair Windows gebruiker die op Linux aan de slag moet kan het wel een optie zijn om een bekende interface beschikbaar te hebben.
Mijn gedachte was vanuit een script-taal perspectief: Powershell heeft de intentie/potentie om object-oriented te werken: Het zijn niet alleen strings die in variables zitten, het zijn hele objecten met bijpassende methodes en zo. Zolang netjes powershell gebruikt wordt, werkt dat best aardig, al is het even wennen (net zoals tussen C en C++)
Maar helaas heeft PowerShell, zeker in het begin, nogal wat hulp nodig gehad van wmi en .net en de functies die daaruit gebruikt zijn doorbreken in mijn optiek nogal eens het object-oriented model van powershell.
Daarnaast is mijn huidige ervaring dat powershell niet zo consistent is als ik zou wensen.

Maar nu powershell meer open-source is en meer op andere platformen gebruikt kan worden, hoop ik dat er minder uitstapjes naar andere talen nodig zijn.

Aan de andere kant zie ik microsoft meer en meer richting linux schuiven... het zal mij benieuwen waar dat heen gaat.
En perl met zijn cli is voor de x platform oo taal niet een alternatief?
Perl is toch niet oo...
al moet ik zeggen dat ik na perl 4 er niet echt veel mee bezig ben geweest...
Perl heeft zeker OO ondersteuning in. https://perldoc.perl.org/perlootut.html...

Maargoed, de meer die ik heb gelezen is de doel van de port mij wel duidelijk. MS wilt support op hun Azure platform voor hun Powershell en de sprong om het beschikbaar te maken op de andere Linux platformen met .net core is een kleine. Het is echt niet de bedoeling om de die hard Linux sysadmin/dev/gebruiker overstag te krijgen om hun shell te gebruiken.

De beschikbaarheid gaat vast en zeker een aantal Winmannen een welkome omgeving bieden als zij op Linux aan de slag willen. Net als wat de Linux s/d/g als eerste cygwin (met eventueel conemu) installeert op een Windows machine. Gebruiken van de tools die bekend is, is vaak een eerste keuze, toch?
De commando's zijn juist zeer logisch qua opbouw
De Verb is bv Get, Set, Invoke, Create,Write,Test, etc.
De Nouns beschrijven vervolgens weer WAT er gedaan wordt.
Ik vind dit geen heldere uitleg, sorry. Ik denk dat je het woordje "mee" bent vergeten in je noun zin.

Mijn uitleg zou zijn:

Het eerste gedeelte is het werkwoord: dus wat ermee gedaan wordt.

Het tweede gedeelte is het onderwerp: dus waar wat mee gedaan wordt.

Ik weet verder weinig van Powershell, maar dit begrijp ik wel.
Ik zit in het zelfde bootje, zie ook dat de vmware fling lang op zich laat wachten als het om compatibiliteit gaat met powershell...nog niet te spreken over de ondersteuning op linux of macos.
Het is in de afgelopen maanden heel hard gegaan met versies van powershell en ik denk dat ze die ontwikkelingen niet hebben kunnen bijbenen. Ik hoop wel dat nu de release uit is, ze snel zullen gaan werken aan de restpunten. In mijn geval is dat de bekende "VMware.VimAutomation.Vds.Types'. The system cannot find the file specified."
jij snapt het, dit is inderdaad wat Jeffrey Snover uitlegde bij de introductie van 6.0 op de PowerShell conference in 2017. https://github.com/psconfeu/2017
In principe kan je ook bijvoorbeel dlisp als shell gebruiken, daar kan je ook alles mee.

Maar los daarvan ik denk dat het juist voor shells heel interessant is om zo crossplatform te kunnen werken, dus ik juich powershell op alle platforms toe.

[Reactie gewijzigd door begintmeta op 12 januari 2018 13:35]


Om te kunnen reageren moet je ingelogd zijn


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S9 Google Pixel 2 Far Cry 5 Microsoft Xbox One X Apple iPhone 8

© 1998 - 2018 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*