ID.nl logo
Doe het met tekst: beheer je computer met PowerShell
© fatmawati - stock.adobe.com
Huis

Doe het met tekst: beheer je computer met PowerShell

Iedereen heeft ongetwijfeld het Windows-onderdeel PowerShell weleens gezien, maar lang niet iedereen gebruikt het. Wat kun je er eigenlijk mee? In dit artikel praten we je bij.

Als je dit artikel gelezen hebt, weet je alles over PowerShell. We behandelen onder meer:

  • Actieve processen opvragen, bewaren en vergelijken
  • Logboeken uitlezen
  • Map met onderliggende mappen naar andere locatie kopiëren of verplaatsen
  • Inhoud van een map verwijderen

Ook interessant: 15 handige commando's in Windows Opdrachtprompt

Microsoft biedt met de tool PowerShell al jaren een veelzijdigere manier om het systeem door middel van getypte opdrachten te beheren. PowerShell pakt de zaken weer heel anders aan en biedt ook andere mogelijkheden.  

Geschiedenis

De eerste versie van PowerShell dateert al uit 2006 en is ontwikkeld vanuit de behoefte om een gereedschap voor beheer en automatisering te bieden met meer mogelijkheden dan de Opdrachtprompt. Die laatste was immers nog gebaseerd op het aloude MS-DOS en kent daarom geen functies die betrekking hebben op de vele aanvullende mogelijkheden van een grafisch besturingssysteem.

Al sinds Windows 7 wordt PowerShell meegeleverd en vanwege het algemene karakter van het product zijn er ook versies voor macOS en verschillende Linux-distributies.

Sinds zijn ontstaan is PowerShell nog volop doorontwikkeld en inmiddels zit het op versie 7.3.

Windows-licenties koop je bij Bol.com

Upgraden naar Windows 11, of van Home naar Pro?

Eerste blik

Wie slechts incidenteel gebruikmaakt van de Opdrachtprompt en nooit eerder aandacht heeft geschonken aan PowerShell, zal het idee hebben in een vertrouwde omgeving terecht te komen. Om de tool te starten, klik je met rechts op de startknop en open je Windows PowerShell.

Net als bij de Opdrachtprompt begin je in een map – in dit geval die van de ingelogde gebruiker – en het enige wat afwijkt, is de blauwe achtergrondkleur en de letters PS voor de mapnaam om aan te duiden dat je je in PowerShell bevindt. Iets wat de venstertitel natuurlijk ook al verraadt.

Probeer je het vertrouwde commando dir, dan ziet ook de uitvoering daarvan er best vertrouwd uit. Oké, de volgorde van de kolommen is wat anders en PowerShell toont standaard de bestandsattributen, maar op het eerste gezicht lijkt het op de Opdrachtprompt. Schijn bedriegt echter. Dat merk je wanneer je probeert de weergave van een map met veel bestanden na elk scherm te pauzeren met de vertrouwde opdracht dir /p. In plaats van het gewenste resultaat zie je nu een foutmelding. Help!

Voor wie de Opdrachtprompt kent, lijkt PowerShell vertrouwd, maar schijn bedriegt. (Klik op de afbeelding voor een betere resolutie.)

Help!

Waar de Opdrachtprompt bij de opdracht help een lijst met beschikbare commando’s toont, geeft PowerShell je een tamelijk algemeen verhaal. Vraag je specifiek hulp voor een enkel commando, bijvoorbeeld met help dir, dan krijg je een tekst te zien over iets dat Get-ChildItem heet. Hoe zit dat?

PowerShell kent een groot aantal opdrachten die cmdlets (lees: commandlets) worden genoemd. Voor zover deze overeenkomen met bekende functies in Opdrachtprompt zijn ze daarmee niet compatibel. Om toch een mate van vertrouwdheid te creëren, biedt PowerShell een systeem van aliassen. Daarin kan een commando onder meerdere namen beschikbaar zijn.

In ons voorbeeld zie je dat dir een alias is voor Get-ChildItem, de cmdlet waarmee je inhoud van mappen kunt opvragen. Ook kun je zien dat hetzelfde commando door het leven gaat onder de aliassen gci en ls. Om een en ander nog verwarrender te maken, kun je ook nog zelf aliassen voor opdrachten toevoegen.

Voor alle duidelijkheid werken wij vanaf nu met de officiële namen van cmdlets.

PowerShell geeft zijn geheimen maar moeizaam prijs.

Hulp online

Dezelfde hulp die we krijgen bij help dir, krijgen we ook bij dit volledige commando:

Get-Help Get-ChildItem

Dat ziet er nog altijd niet al te informatief uit voor beginners. Dat komt omdat PowerShell standaard alleen een beknopte lokale helpfunctie biedt. Voegen we aan ons commando de parameter -Online toe, dan opent PowerShell onze browser en krijgen we wél de uitgebreide hulp die we mogen verwachten.

Wil je uitgebreidere hulp lokaal beschikbaar hebben, dan kun je het best PowerShell sluiten met het commando exit en opnieuw starten als Administrator. Vervolgens geef je de opdracht Update-Help.

Als de installatie klaar is, verschijnt de gevraagde hulp voortaan binnen het PowerShell-venster. Dat gebeurt overigens wel in losse segmenten. Om alles in één keer te zien, voeg je de parameter -full toe, en ben je alleen geïnteresseerd in gebruiksvoorbeelden dan is er -examples.

De online hulp is wél uitgebreid.

Met de toevoeging -examples geeft de helpfunctie alleen voorbeelden van gebruik.

Afwijkend

Dat Get-ChildItem de officiële naam is voor een opdracht die ook als dir kan worden aangeroepen, maakt al duidelijk dat het om een veel algemener soort commando gaat.

In ons eerste voorbeeld zag je de standaardweergave van de inhoud van een map. Net als bij het commando dir in Opdrachtprompt biedt Get-ChildItem allerlei manieren om de uitvoer te filteren met een jokerteken (*) of uit te breiden naar onderliggende mappen met de parameter -recurse.

Je kunt de cmdlet ook voor andere doeleinden gebruiken, bijvoorbeeld door rechtstreeks vanuit PowerShell een registersleutel uit te lezen. Geef als voorbeeld daarvan deze opdracht:

Get-ChildItem -Path HKLM:\HARDWARE

Het equivalent van dir in PowerShell kan ook registersleutels lezen.

Inhoudsopgave

We hebben nu een globaal idee van het verschil tussen PowerShell en Opdrachtprompt, en we weten hoe we hulp kunnen vragen. Maar hoe zit het eigenlijk met de opdrachten die we kunnen geven? Anders gezegd: welke cmdlets heeft PowerShell in huis?

Om daar achter te komen, gebruik je de opdracht Get-Command. Je krijgt dan een enorme lijst aan beschikbare opdrachten. Een deel van deze lijst wordt gevormd door aliassen en ook zie je naast de cmdlets een categorie die Function heet. Tussen cmdlets en functions zit een technisch onderscheid dat hier niet van belang is.

Uiteraard is het onmogelijk om de vele honderden opdrachten uit deze lijst te behandelen. We beperken ons dan ook tot een kleine selectie om je een beeld te geven van de kracht en veelzijdigheid.

De lijst met beschikbare opdrachten is enorm lang.

Veiligheid

Zelfs al begrijp je maar een fractie van de lijst met beschikbare opdrachten, dan heb je vast wel gezien dat ze heel krachtig zijn en betrekking hebben op elk onderdeel van je systeem. Waar je via de beschikbare commando’s in de Opdrachtprompt alleen algemene schade kunt aanrichten (zoals het formatteren van een schijf), kunnen opdrachten en zeker scripts in PowerShell al dan niet opzettelijk zeer subtiele problemen veroorzaken (denk aan hacks). Om die reden is er een veiligheidssysteem actief dat de mogelijkheden standaard beperkt.

Geef het commando Get-ExecutionPolicy. Je zou als antwoord Restricted moeten krijgen. Dit is het hoogste beveiligingsniveau waarin je alleen losse commando’s kunt geven en geen scripts kunt uitvoeren. Dit beveiligingsniveau kun je alleen wijzigen wanneer je PowerShell als Administrator uitvoert. Wijzigen doe je met Set-ExecutionPolicy waarbij je vier veiligheidsniveaus hebt, zie ook deze opdracht:

Get-Help Set-ExecutionPolicy -full

Informatie

PowerShell biedt verschillende opdrachten die een alternatief vormen voor functies die je doorgaans via Windows zou gebruiken. Neem bijvoorbeeld het opvragen van een lijst met actieve processen waarvoor je anders Taakbeheer zou openen. In PowerShell kun je zo’n lijst opvragen met Get-Process.

Maar waarom zou je dat willen wanneer Taakbeheer voldoet? Taakbeheer geeft je een momentopname die je hooguit zou kunnen bewaren door een reeks schermafdrukken van het venster te maken. Vraag je zo’n lijst op in PowerShell, dan kun je hem ook bewaren en later vergelijken met een soortgelijke lijst die je op een ander moment maakt.

Geef deze opdracht:

Get-Process | convertto-html > processen-230427.htm

Hiermee maak je een lijst met alle processen inclusief alle beschikbare informatie daarover, converteer je die naar html en sla je hem op als bestand. Processen stoppen (pas op!) kan met Stop-Process en dan zal het je niet verrassen dat je ze ook kunt starten met Start-Process.

Op vergelijkbare wijze kun je bijvoorbeeld actieve en gestopte services achterhalen (Get-Service), logboeken van het systeem uitlezen (Get-EventLog) en meer. Uitvoer van dit soort opdrachten kun je bovendien op basis van allerlei criteria filteren met Where-Object.

Een lijst met actieve processen in PowerShell.

Dezelfde lijst met actieve processen maar nu geconverteerd naar een tabel in html.

Bestandsbeheer

Net als in Opdrachtprompt heb je in PowerShell de beschikking over opdrachten voor bestandsbeheer. De syntax vraagt vaak wat meer typewerk wanneer je de volledige vorm gebruikt, maar dat komt de begrijpelijkheid van instructies alleen maar ten goede. Vind je de opdrachten te lang, dan kun je altijd nog de aliassen opzoeken of zelf nieuwe maken.

Deze opdracht gebruik je om een map naar een andere locatie te kopiëren waarbij de toevoeging -Recurse ervoor zorgt dat ook onderliggende mappen worden verwerkt:

Copy-Item "C:\map1" -Destination "D:\map1" -Recurse

Vervang je het woord Copy door Move, dan verplaats je mappen en bestanden. Uiteraard is er ook de mogelijkheid om bestanden en mappen te verwijderen. Dat doe je met Remove-Item. Hernoemen gebeurt door middel van Rename-Item.

Tot slot kun je met Clear-Item de inhoud van een object verwijderen maar het object zelf bewaren. Denk bijvoorbeeld aan de inhoud van een map.

Stapje verder

Het feit dat je in al deze namen van cmdlets het woord Item tegenkomt, geeft de indruk dat ze veelzijdiger zijn dan hun tegenhangers in de Opdrachtprompt en dat is ook zo. Zoals je ook al kon zien bij Get-ChildItem, hebben opdrachten zoals Copy-Item een breder bereik dan alleen bestanden en mappen en zou je deze opdracht ook kunnen gebruiken om bijvoorbeeld registersleutels te kopiëren.

De PowerShell-opdrachten werken niet alleen op een lokale computer, maar ook op een andere machine in het netwerk. Dat maakt ze ideaal voor systeembeheerders (en thuisgebruikers met een bescheiden lokaal netwerk) om vanaf een centrale locatie aanpassingen op alle machines te doen via één script.

Scripts

Zoals we al zeiden in de paragraaf ‘Veiligheid’ kun je standaard alleen losse commando’s geven binnen PowerShell. Tussen de vele beschikbare opdrachten zitten ook instructies die programmeurs herkennen als lus-opdracht, bijvoorbeeld ForEach-Object, waarmee je dezelfde reeks commando’s op een heleboel objecten kunt loslaten. De typische plek waar je dat doet is binnen een script, de tegenhanger van het batch-bestand bij de Opdrachtprompt.

Vanwege hun kracht kennen scripts, net als gewone programma’s (exe-bestanden) een systeem van certificaten, zodat je zeker kunt weten of een script uit een betrouwbare bron komt.

Het zal duidelijk zijn dat PowerShell vooral bedoeld is voor (zeer) ervaren computergebruikers. Ook zul je begrijpen dat het veel meer studiemateriaal vereist dan dit artikel kan bieden. Dé plek om je studie te vervolgen is de online documentatie van Microsoft en de website PowerShell Gallery.

In de PowerShell-documentatie en Gallery vind je veel lesmateriaal, voorbeeldscripts en meer.

▼ Volgende artikel
Waar voor je geld: 5 slimme thermostaat-sets voor een automatisch warm huis
© MG | ID.nl
Energie

Waar voor je geld: 5 slimme thermostaat-sets voor een automatisch warm huis

Bij ID.nl zijn we gek op producten voor een mooie prijs of die iets bijzonders te bieden heeft. Een paar keer per week gaan we daarom op zoek naar zulke producten. Niets is zo veranderlijk als het weer; het ene moment schijn de zon en een week later vriest het en ligt er sneeuw. Hoe fijn is het dan als jouw huia automatisch wordt verwarmd op het moment dat het nodig is? Een slimme thermostaat is dan wel handig. Wij zonden vijf slimme startersets met radiatorkraan.

Om je huis wat energiezuiniger te maken is het gebruik van de CV-ketel en de verwarming een goed begin om deze wat beter reguleren. En in plaats van dat je dat zelf helemaal handmatig moet bijhouden, kun je kiezen voor een slimme thermostaat die dat voor je doet. Wij vonden vijf handige startersets met slimme thermostaat en extra apparatuur zoals radiatorkranen waarmee je direct aan de slag kunt.

Netatmo Slimme Thermostaat

Met deze uitgebreide Netatmo-bundel haal je in één keer een complete zoneregeling in huis. De set combineert de iconische Netatmo Slimme Thermostaat met maar liefst drie extra slimme radiatorkranen. Dit is de perfecte oplossing als je niet alleen je woonkamer, maar ook drie andere vertrekken (zoals een werkkamer, badkamer of slaapkamer) individueel wilt verwarmen.

Het design, ontworpen door Philippe Starck, is minimalistisch en tijdloos. De thermostaat zelf is eenvoudig te bedienen en werkt met vrijwel alle CV-ketels (aan/uit). De kracht zit echter in de combinatie met de radiatorkranen: deze meten de temperatuur per kamer en kunnen de radiator dichtdraaien als de gewenste temperatuur bereikt is, zelfs als de thermostaat in de woonkamer nog om warmte vraagt.

Dankzij de slimme Auto-Adapt functie leert het systeem de isolatie van je huis en de buitentemperatuur kennen, zodat het precies weet wanneer de verwarming aan moet om op tijd warm te zijn. Alles is aan te sturen via de gebruiksvriendelijke app of via spraak (Apple HomeKit, Google Assistant en Alexa). Met functies als open-raamdetectie en maandelijkse besparingsoverzichten helpt deze set je actief om energie te besparen zonder in te leveren op comfort.

TP‑Link KE100 KIT

Met deze set van TP‑Link maak je je radiatoren afzonderlijk aanstuurbaar. De doos bevat twee thermostatische radiatorkranen en een hub. Die hub vormt het hart van het systeem: je verbindt hem met je wifi en plaatst de radiatorkranen op de bestaande ventielen. Vervolgens kun je via de Kasa Smart‑app voor iedere ruimte een eigen temperatuur instellen. Dankzij het ingebouwde schema stel je vaste tijdstippen in waarop de radiatoren opwarmen of juist lager worden gezet. De apparaten communiceren draadloos met de hub, waardoor je ook meerdere kamers kunt bedienen.

Je kunt tot wel 32 radiatoren op één hub aansluiten. De set werkt samen met stemassistenten zoals Google Assistant, Amazon Alexa en Siri, zodat je de temperatuur per kamer kunt aanpassen zonder je telefoon erbij te pakken. Er is een vorstbeschermingsmodus die de radiator inschakelt als de temperatuur te laag wordt, handig bij koude winters. Via meegeleverde adapters passen de radiatorkranen op de meeste ventielen. En omdat ze op batterijen werken hoef je geen stroompunt in de buurt te hebben.

Imou TRV1 Kit

Dit starterspakket van Imou is bedoeld voor wie één of meerdere radiatoren los wil regelen en via internet wil bedienen. In de doos zit een thermostatische radiatorkraan en een gateway; de gateway verbindt de kraan met je thuisnetwerk via Zigbee. De kraan meet de temperatuur en stuurt het ventiel nauwkeurig aan tussen 5 °C en 35 °C, met stappen van een halve graad. Je programmeert via de Imou Life‑app een tijdschema of stelt handmatig de gewenste temperatuur in. De gateway heeft een bereik van honderd meter, zodat je de set eventueel met extra kranen kunt uitbreiden tot een maximaal aantal van 32 radiatoren.

Handige functies zijn open‑raamdetectie, antivriesstand en een kinderslot. Wanneer er een raam openstaat schakelt de kraan automatisch lager om energie te besparen. Batterijen leveren de stroom; Imou levert AA‑batterijen en diverse adapters mee. De set werkt samen met Amazon Alexa en Google Assistant zodat je via spraakcommando’s de verwarming aanstuurt. Dankzij de heldere led‑ring op de knop zie je in één oogopslag welke modus actief is. Hierdoor is het systeem geschikt voor wie op een eenvoudige manier per kamer wil verwarmen zonder ingrijpende installatie.

Hombli Smart Radiator Thermostat Starterkit

Hombli biedt een set met twee radiatorthermostaten en een bridge om de knoppen via de Hombli‑app te bedienen. Je plaatst de knoppen op de bestaande ventielen, waarna je met de bridge de verbinding maakt tussen de knoppen en je wifi‑netwerk. Met de app stel je per kamer een weekprogramma in, zodat je bijvoorbeeld ’s avonds in de woonkamer verwarmt en overdag juist in de werkkamer. De thermostaten hebben een energieverbruiksmonitor waarmee je ziet hoeveel warmte elke radiator gebruikt. Er is ook een geofencing‑optie: als je het huis verlaat, gaat de verwarming automatisch lager.

Open‑raamdetectie voorkomt onnodig stoken als er geventileerd wordt. De knoppen communiceren via bluetooth low energy; daardoor gaan de AA‑batterijen volgens Hombli tot anderhalf jaar mee. Je bedient het systeem met de app of via spraakassistenten zoals Google Assistant, Amazon Alexa en Siri. Omdat de bridge meerdere knoppen kan koppelen, kun je later uitbreiden naar extra radiatoren. Via de app kun je ook alle gekoppelde knoppen gelijktijdig aanpassen, waardoor het systeem geschikt is voor blok‑ of stadsverwarming.

Tado Slimme Radiatorknop Starterskit V3+

Deze starterskit van tado° is bedoeld voor woningen waar elke radiator apart geregeld moet worden zonder centrale thermostaat. De verpakking bevat één slimme radiatorkraan en een internetbridge. Je vervangt de bestaande knop door de slimme kraan en koppelt de bridge aan je router. Via de tado°‑app regel je de temperatuur per kamer en stel je uitgebreide programma’s in, zoals een week- of weekendprogramma. De app gebruikt geolocatie, open‑raamdetectie en weersinformatie om de verwarming automatisch aan te passen.

De set werkt met spraakbesturing via Amazon Alexa, Apple HomeKit en Google Assistant. Dankzij de internetbridge kun je extra radiatorkranen toevoegen om meer kamers aan te sturen. tado° adviseert om per radiator een slimme knop te plaatsen voor optimale werking. Volgens de fabrikant kun je tot 31 % energie besparen doordat de app de verwarming afstemt op je aanwezigheid. Batterijen zorgen voor de stroomvoorziening. Voor geavanceerde functies zoals automatische geofencing heb je een optioneel abonnement nodig, maar de basisbediening via de app blijft beschikbaar zonder extra kosten.

▼ Volgende artikel
Amazon komt met Fallout-realityshow waarin deelnemers in schuilkelder moeten leven
© Bethesda
Huis

Amazon komt met Fallout-realityshow waarin deelnemers in schuilkelder moeten leven

Amazon werkt aan een realityshow rondom de Fallout-franchise waarin deelnemers moeten zien te overleven in een schuilkelder.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

Er gingen onlangs al geruchten over de realityshow die naar Amazon Prime Video moet komen, maar nu is de show officieel goedgekeurd en wordt er zelfs naar deelnemers gezocht. In het spelprogramma moeten spelers in een schuilkelder leven en meedoen aan een reeks competitieve spellen die de zeven kerneigenschappen uit de Fallout-reeks uitlichten: kracht, perceptie, charisma, intelligentie, uithoudingsvermogen, geluk en wendbaarheid.

Volgens de beschrijving "is het een spel van machtspatronen, populariteit en sociale strategieën waarbij uiteindelijk een gigantische geldprijs gewonnen kan worden". Verdere concrete detail zijn er nog niet, en het is ook niet duidelijk vanaf wanneer de realityshow op Amazon Prime Video te zien zal zijn.

Gebaseerd op de games

Amazon heeft de smaak goed te pakken wat betreft Fallout: in 2024 begon de fictieve, gelijknamige serie al op de streamingdienst, gebaseerd op de games van Bethesda. Met acteurs als Ella Purnell, Walton Goggins en Kyle MacLachlan wordt een alternatieve geschiedenis (en toekomst) geschetst waarbij de Verenigde Staten door een nucleaire winter geteisterd worden. Diverse samenlevingen houden het jarenlang vol in schuilkelders, en wanneer ze daar weer uit durven te komen, maken ze kennis met een aardoppervlakte die voorgoed veranderd is.

De serie bleek een grote hit en het eerste seizoen behaalde meer dan honderd miljoen kijkers. Het tweede seizoen is eind vorig jaar begonnen – wekelijks wordt er een nieuwe aflevering op Amazon Prime Video getoond. Het ziet er naar uit dat Amazon nu wil inspelen op dit succes door ook aan een realityshow binnen deze franchise te werken.