Powershell: Meer dan de zoveelste scripttaal

 

Powershell is het lang verwachte antwoord van Microsoft op de krachtige command-line consoles van de Linux wereld, een toegeving aan verzuchtingen van veel systeembeheerders. Powershell staat voor een geheel van zo’n 130 bevelen met een consistente syntax voor Windows XP, Vista, Server 2003, Longhorn, Exchange Server 2007, System Center Operations Manager, Data Protection Manager en Virtual Machine Manager 2007.

Het is gratis te downloaden, en manifesteert zich na installatie als een command-line schil rond één van die omgevingen. Eigenlijk is dit de omgekeerde wereld, want aanvankelijk ontstond dit besturingssysteem als een grafi sche schil rond de command-line wereld van MS-DOS. Maar het gaat gelukkig veel verder dan dat. Zo is het gebouwd bovenop de Common Language Runtime (CLR) van het .NET Framework. Dit houdt in dat het niet, zoals de meeste ’tekstschilproducten’ (denk maar aan CMD.EXE onder Windows, of BASH onder UNIX), tekst als resultaat terugkeert, maar wél .NET objecten.

Alles draait rond cmdlets (spreek uit: command-lets). Dat zijn eenvoudige command- line tooltjes binnen de schil, die elk één enkele functie aankunnen. Een cmdlet bestaat uit een werkwoord, een streepje en een naam: Get-Help, Start-Service enzovoort. Bovendien hebben ze allemaal een verkorte vorm of alias, waarvan sommige ons vertrouwd in de oren klinken: zo volstaat ‘del’ voor ‘Remove-Item’ of ‘kill’ voor ‘Stop-Process’. Hun echte kracht komt pas ten volle tot uiting als ze in combinatie met elkaar aan het werk worden gezet om complexe taken te vervullen. En er is het gemak waarmee de output van het ene commando kan gebruikt worden als input voor een ander.

Het illustreert ook de kracht van het rechtstreeks omgaan met objecten: om bijvoorbeeld bestanden in een map te sorteren op hun grootte, volstaat het te weten dat ‘length’ één van de eigenschappen is van het object dat het Get-ChildItem cmdlet als resultaat oplevert, en dit aan het Sort-Object cmdlet mee te geven. Ook de stap naar een volwaardige vorm van scripting is erg klein: geef het bestand met de gewenste opeenvolgende commando’s de extensie ‘.ps1′. Om veiligheidsrisico’s te voorkomen, kan een uitvoeringspolitiek bepalen of ze uitgevoerd mogen worden of een digitale handtekening moeten bevatten.

Bovendien is Powershell standaard zo geconfigureerd dat het enkel op een interactieve manier kan gebruikt worden. PS1-scripts worden dus nooit uitgevoerd als erop geklikt wordt.

businessitprofessionaltrendsentips

Gerelateerde artikelen

Volg ons

Bekijk de huidige aanbiedingen bij Coolblue

Bekijk de huidige aanbiedingen bij Coolblue

👉 Bekijk alle deals