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

Yoeri Lauwers

Eindredacteur

Een introductie tot Windows PowerShell

Door , 47 reacties

Inleiding

Een eigenschap die *nix-gebruikers vaak missen op Windows-systemen is de mogelijkheid tot het schrijven van geavanceerde scripts en het beheren van een computersysteem via de commandline. Hoewel VBScript enkele interessante opties biedt en er sinds het DOS-tijdperk batch-bestanden gebruikt kunnen worden, was het Microsoft duidelijk dat er een markt was voor een script-omgeving vergelijkbaar met onder andere de bash-shell in pakweg Linux- en FreeBSD-systemen en dat de beschikbare tools onder Windows daarvoor te beperkt waren. Met de Windows PowerShell wil Microsoft aan die wens tegemoetkomen. Of al deze doelstellingen gehaald worden en of deze shell zich zal kunnen meten met Linux-omgevingen die reeds jaren in gebruik zijn, zal pas blijken wanneer de shell officieel gelanceerd wordt, maar met behulp van de reeds beschikbare release candidate proberen we al een inschatting te maken van de mogelijkheden.

* Het ontstaan van de Windows PowerShell

Al sinds de lancering van de eerste MS-DOS-versie hebben computergebruikers de beschikking over een commandline interface. Deze tool ging en gaat door het leven als command.com, of in NT-gebaseerde Windows-versies als cmd.exe, en moet een tekstueel alternatief bieden om beheerstaken uit te voeren. De bestaande commandlines bieden echter slechts beperkte mogelijkheden tot het scripten van geavanceerde tools en slagen er bovendien niet altijd in alle functionaliteit uit de grafische interface te bieden. Daarnaast zijn command.com en cmd.exe niet helemaal in overeenstemming met de Posix 2-regels, wat vooral voor Unix-beheerders een kwalijke zaak is.

In 1998 werd de Windows Script Host ge´ntroduceerd met de lancering van Windows 98. Het ging hierbij om een geavanceerdere toepassing waarbij de gebruiker over verschillende talen kon beschikken om scripts te schrijven waarmee onder andere shell-scripts geschreven kunnen worden en applicaties bestuurd kunnen worden, sterk leunende op ActiveX-functies. Door de gebrekkige documentatie, het niet ge´ntegreerd zijn in de shell en het opduiken van een aantal virussen die via lekken in de browser op kwaadaardige wijze gebruikmaakten van de mogelijkheden van deze scripting shell, kreeg WSH al gauw een kwalijke reputatie.

In tegenstelling tot *nix-programma's, waar de cli-commando's de basis vormen waarop een GUI geŰnt kan worden, is het bij Microsoft zo dat de GUI de essentie vormt en dat het moeilijk is een bijpassende tekstuele commandoset te creŰren. Het werd Microsoft dan ook duidelijk dat zowel gebruikers als systeembeheerders over een uitgebreide tekstuele shell wilden beschikken om allerlei taken uit te voeren. Dit alles resulteerde erin dat op 11 september 2005 de eerste publieke bŔtaversie van Monad gelanceerd werd. Beta 3 van deze software verscheen op 10 januari op het net en in april kondigde Microsoft aan dat Monad herdoopt zou worden naar 'Windows PowerShell'. De Windows Powershell is misschien wel Microsofts meest uitgebreide en gepromote initatief voor commandline-toepassingen, het is zeker niet de eerste ervaring met een CLI. Zo is er al sinds jaren de NT Resource kit beschikbaar, die heel wat commandline utilities bevat.

Ondanks eerdere geruchten en speculaties zal de Windows PowerShell niet als standaardshell voor Windows Vista functioneren, maar zal deze Windows-versie over cmd.exe blijven beschikken. Bovendien zal Microsoft deze shell blijven ondersteunen om compatibiliteit met oudere programma's te blijven garanderen.

# 
# Voorbeeldfunctie die een lijst met ge´nstalleerde software genereert
#

Function Show-InstalledSoftware {
$prod = Get-WmiObject win32_product
$prod| sort name |ft Name, Version, Vendor, Installdate -a
}

set-alias sis Show-InstalledSoftware
Een kort, eenvoudig voorbeeld dat de mogelijkheden van PowerShell illustreert

Apple iPhone X Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 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

*