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

Door Yoeri Lauwers

Eindredacteur

Een introductie tot Windows PowerShell

.NET als basis voor de Windows Powershell

Aangezien Windows Powershell in belangrijke mate op .NET gebaseerd is, is enig inzicht in de werking van dit platform onmisbaar voor wie aan de slag wil met Powershell-scripts, die als extensie .ps1 zullen dragen. Het .NET-platform is vergelijkbaar met J2EE in die zin dat het naast een runtime omgeving een ontwikkelframework omvat. De .NET-API is bovendien volledig objectgeoriënteerd en dat principe wordt ook in Powershell gevolgd. Zo erven alle Cmdlets hun basiseigenschappen van dezelfde klasse en is het zelfs mogelijk eigen Cmdlets te ontwikkelen. Dit biedt een belangrijk voordeel boven sommige Linux-tools, omdat het bijvoorbeeld door het overerven van een 'toString-method' betekent dat de verschillende commando's hun uitvoer op een consistente manier genereren.

PS C:\Documents and Settings\Yoeri> Get-Command |
>> ConvertTo-Html name,ParameterSets -title "Process Information" -body "<H2>Inf
ormation about the Powershell-commands that can be used.</H2>" |
>> Set-Content c:\scripts\commands.htm
>>
PS C:\Documents and Settings\Yoeri> Get-Process |
>> ConvertTo-Html name,path,fileversion -title "Process Information" -body "<H2>
Information about the processes running on the computer.</H2>" |
>> Set-Content c:\scripts\processen.htm
>>
Processen.htm

Commands.htm

Dat PowerShell in sterke mate op de .NET-fundamenten rust, heeft ook zijn gevolgen voor de mogelijkheden op de commandline. Het typecasten van variabelen is daar een mooi voorbeeld van. Zo zorgt de opdracht [int]"10" + 5 ervoor dat de string omgezet wordt naar een integerwaarde en vervolgens opgeteld wordt, zodat het resultaat 15, en niet 105, bedraagt. Met wat geavanceerde opdrachten is het door slim gebruik van de juiste dll-bestanden en objecten zelfs mogelijk Windows Forms te creëren vanaf de commandline. Het is overigens nog niet mogelijk om ps1-commando's te triggeren met behulp van GUI-events. Ontwikkelaar Jeffrey Snover heeft echter al laten weten dat men wel aan een aantal Cmdlets werkt om interactie met GUI's mogelijk te maken, maar dat deze naar alle waarschijnlijkheid niet in de eerste release van de shell verwerkt zullen worden.

* De basisconcepten van Windows Powershell

De codenaam van Windows Powershell luidt 'Monad' en die naam werd niet toevallig gekozen. In zijn werk 'Monadology' beschrijft Gottfried Leibniz een filosofie waarin het universum samengesteld is uit fundamentele elementen, monads genaamd. Dit principe werd in het achterhoofd gehouden tijdens het ontwikkelen van de vernieuwde shell en heeft geresulteerd in een verzameling Cmdlets die de fundamenten van de scripting-omgeving vormen.

Terwijl Unix-commando's hoofdzakelijk gebaseerd zijn op tekstuele invoer en uitvoer, werkt Powershell voornamelijk met objecten. Wanneer de interactie plaatsvindt via het scherm, kunnen de resultaten daardoor eenvoudig tekstueel weergegeven worden, maar als de uitvoer van een commando gebruikt moet worden als invoer voor een ander commando, is door deze benadering geen tool als grep of awk meer nodig.

PS C:\Documents and Settings\Yoeri> Get-WmiObject Win32_PerfFormattedData_PerfOS
_System | Format-Table Processes,Threads,SystemUptime,ProcessorQueueLength -Auto
size

Processes Threads SystemUptime ProcessorQueueLength
--------- ------- ------------ --------------------
77 739 13406 0
Voorbeeldopdracht die de prestaties van de computer overzichtelijk weergeeft

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True