Powershell opstarten

Met powershell werken doe je voornamelijk vanuit de powershell console.
Powershell scripts schrijven kan je in meerdere programma’s, gaande van notepad naar iets functionelere editors tot aan complete studio’s.

Maar je moet ergens beginnen en dat is voor zo goed als iedereen de powershell console:


PowershellConsole

Deze vind je het makkelijkst terug door in het start menu (of scherm) powershell in te typen in het zoekveld.
Vervolgens kan je best de console vastpinnen op de taakbalk want je zal hem nog zeer vaak nodig hebben.

Standaard kom je terecht in je eigen gebruikersprofiel folder (C:\users\usernaam) net zoals in het CMD venster. Dit wordt aangegeven door de tekst die voor het > teken staat geschreven. Dit wordt de prompt genoemd en is de folder vanwaar je vertrekt.

Je kan de console vergelijken met het bekende oude DOS venster (ofte CMD) aangezien de werking vrijwel gelijk loopt. Iets anders dan tekst zal je nooit zien of ingeven in dit venster.
En ook net zoals in DOS kan je hier opdrachten ingeven zoals bvb het alom bekende DIR. Probeer het maar eens door het commando DIR in te typen en vervolgens op enter te drukken.

Net zoals in DOS krijg je netjes een lijst van folders en bestanden in de huidige folder te zien, maar het is NIET het DIR commando dat wordt uitgevoerd…

Microsoft heeft er namelijk voor gezorgd om de overstap voor DOS aanhangers zo laagdrempelig mogelijk te houden door zeer bekende commando’s ook onder Powershell aan te bieden in de vorm van aliassen, een bijnaam dus.

Nota: Commando’s in DOS zijn cmdlets geworden in Powershell. Er zijn er vele honderden en bij elke versie komen er nog honderden bij. De voornaamste kan je hier terugvinden: A Task-Based Guide to Windows PowerShell Cmdlets

DIR is namelijk een alias voor de cmdlet Get-ChildItem. Probeer het nog eens door nu de echte naam van het cmdlet in te geven en op enter te drukken. Wederom krijg je dezelfde lijst te zien.

DIRvsGet-ChildItem

Echter zijn niet alle DOS commando’s op dezelfde manier vervangen.

Bijvoorbeeld IPconfig is nog altijd hetzelfde commando en effectief ook hetzelfde programma dat wordt uitgevoerd. Probeer het maar eens en let goed op de tekst die je te zien krijgt.

De Powershell tegenhanger is namelijk (vanaf Windows 8.1) Get-NetIPAddress, geef dit commando in en kijk wat er dan gebeurt.
Indien je een moderne computer hebt of een laptop zul je een hoop tekst hebben zien voorbijflitsen. De output van dit commando is dus wezenlijk verschillend van IPconfig.

Gebruik de volgende opdrachtregel om deze output te pauzeren zodat je tijd hebt om alle tekst te bekijken:

Get-NetIPAddress | more

Druk op de spatiebalk om naar de volgende pagina te gaan.

Het | teken is belangrijk en wordt het pipe teken genoemd. Linux mensen zullen dit ongetwijfeld herkennen aangezien dit teken dezelfde functionaliteit biedt in de Linux command line omgeving.

Tot dusver de eerste kennismaking met Powershell. Volgende keer meer uitleg over de meest gebruikte cmdlets. Ook het pipe teken | komt dan weer aan bod en wat je ermee kan doen.

TIP: probeer zoveel mogelijk in het Engels op te zoeken over Powershell, er bestaan weliswaar Nederlandstalige forums over dit onderwerp maar je zal zien dat de Engelstalige community vele malen drukker bevolkt is en dus sneller en meer resultaten zal opleveren. De cmdlets zijn zelf trouwens ook alleen maar naar Engelstaligen gericht.