Door Yoeri Lauwers

Eindredacteur

Een introductie tot Windows PowerShell

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

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