{"id":12161,"date":"2026-02-15T05:22:20","date_gmt":"2026-02-15T05:22:20","guid":{"rendered":"https:\/\/howtogeek.blog\/nl\/?p=12161"},"modified":"2026-02-15T05:22:20","modified_gmt":"2026-02-15T05:22:20","slug":"hoe-voer-je-exe-bestanden-uit-met-powershell","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/nl\/hoe-voer-je-exe-bestanden-uit-met-powershell\/","title":{"rendered":"Hoe voer je EXE-bestanden uit met PowerShell?"},"content":{"rendered":"<p>Het uitvoeren van een uitvoerbaar bestand (.exe) is vrij eenvoudig als je er gewoon op dubbelklikt. Maar als je dingen automatiseert \u2013 bijvoorbeeld scripts maakt om programma&#8217;s te installeren, omgevingen in te stellen of onderhoudstaken uit te voeren \u2013 moet je vertrouwd raken met hoe Windows PowerShell met die bestanden omgaat. Het is een beetje vreemd, maar PowerShell biedt verschillende manieren om een \u200b\u200b.exe-bestand uit te voeren, en soms werkt de eenvoudigste methode niet, afhankelijk van je configuratie of de locatie van het bestand. Dit kan vooral frustrerend zijn als je diep in scripts duikt of probeert dingen te laten uitvoeren zonder tussenkomst van de gebruiker.<\/p>\n<p>Bovendien, als je servers of pc&#8217;s op afstand beheert, kan het uitvoeren van programma&#8217;s vanuit een script of opdrachtregel je enorm veel tijd besparen. Het doel is om een \u200b\u200bpaar betrouwbare, beproefde methoden te leren om dat uitvoerbare bestand soepel te laten draaien zonder tegen problemen met machtigingen of paden aan te lopen. Als je het goed doet, zullen de PowerShell-opdrachten het bestand gewoon uitvoeren alsof je erop dubbelklikt. Verwacht wat vallen en opstaan, want vreemde dingen zoals spaties in bestandsnamen of machtigingen kunnen problemen veroorzaken. Maar ja, als je het eenmaal door hebt, vraag je je af waarom het in het begin zo ingewikkeld leek. Want ja, Windows moet het soms ingewikkelder maken dan nodig is.<\/p>\n<h2>Hoe voer ik een.exe-bestand uit in PowerShell?<\/h2>\n<p>Wanneer je een uitvoerbaar bestand vanuit PowerShell probeert te starten, zorg er dan voor dat je naar de juiste locatie verwijst en de juiste syntaxis gebruikt. Vervang &#8216;filename&#8217; of &#8216;path&#8217; door de daadwerkelijke bestandsgegevens, maar gebruik geen <code>&lt; &gt;<\/code>haakjes; die dienen alleen voor de structuur. Houd er ook rekening mee dat commando&#8217;s gevoelig kunnen zijn voor spaties in bestandsnamen of mappen, dus het is cruciaal om paden met spaties tussen aanhalingstekens te plaatsen.<\/p>\n<h3>Voer rechtstreeks uit zonder parameters met behulp van de &amp; operator<\/h3>\n<p>Dit is de meest gebruikelijke manier. Het <code>&amp;<\/code>symbool (soms ook wel de aanroepoperator genoemd) vertelt PowerShell: &#8220;H\u00e9, voer dit bestand uit.&#8221; Het is flexibel omdat je zowel volledige als relatieve paden kunt opgeven, en het werkt voor de meeste eenvoudige scenario&#8217;s. Zo doe je dat:<\/p>\n<ul>\n<li>Open PowerShell als beheerder \u2014 druk op <kbd>Windows + R<\/kbd>, typ <code>powershell<\/code>, en druk vervolgens op <strong>Ctrl + Shift + Enter<\/strong>.(Soms is dit nodig als de app beheerdersrechten vereist.)<\/li>\n<li>Als het.exe-bestand zich in dezelfde map bevindt als waarin u zich bevindt, typt u: <code>&amp; '.\\filename.exe'<\/code>. Dit <code>.\\<\/code>betekent &#8220;zoek hier&#8221; in de huidige map.<\/li>\n<li>Als het ergens anders is en je het volledige pad weet, typ dan: <code>&amp; 'C:\\Path\\To\\Your\\File.exe'<\/code>. Zorg ervoor dat je aanhalingstekens rond paden plaatst als ze spaties bevatten, zoals <code>&amp; 'C:\\Program Files\\MyApp\\app.exe'<\/code>.<\/li>\n<\/ul>\n<p>Wat gebeurt hier? Nou, hiermee <code>&amp;<\/code>zorgt u ervoor dat PowerShell begrijpt dat u dat bestand als een programma wilt uitvoeren, en niet zomaar als een tekenreeks. Soms gaan er vreemde dingen mis \u2014 in sommige configuraties is een tweede poging of een herstart nodig om het volledig te laten werken. Ik weet niet precies waarom, maar het lijkt alsof Windows altijd probeert scripts op een slinkse manier uit te voeren.<\/p>\n<h3>Start-Process gebruiken \u2014 de PowerShell-manier voor gevorderde gebruikers<\/h3>\n<p>Start-Process is als een Zwitsers zakmes voor het starten van apps. Het is geweldig als je meer controle wilt, bijvoorbeeld wachten tot het programma is afgesloten voordat je verdergaat, of het uitvoeren met beheerdersrechten zonder PowerShell handmatig als beheerder te hoeven starten.<\/p>\n<p><strong>Waarom het helpt:<\/strong> Meer opties, zoals wachten tot de bewerking is voltooid, argumenten doorgeven of bevoegdheden verhogen.<\/p>\n<p><strong>Wanneer dit van toepassing is:<\/strong> Als uw script moet wachten tot het uitvoerbare bestand klaar is of als het met specifieke rechten moet worden uitgevoerd.<\/p>\n<p><strong>Verwacht resultaat:<\/strong> Het programma start en de scripts worden voortgezet zodra het klaar is (indien <code>-Wait<\/code>gebruikt).<\/p>\n<ul>\n<li>Basisgebruik:<code>Start-Process -FilePath \u201cC:\\Path\\To\\Program.exe\u201d<\/code><\/li>\n<li>Wachten tot het proces is voltooid:<code>Start-Process -FilePath \u201cC:\\Path\\To\\Program.exe\u201d -Wait<\/code><\/li>\n<li>Uitvoeren als beheerder:<code>Start-Process -FilePath \u201cC:\\Path\\Program.exe\u201d -Verb RunAs<\/code><\/li>\n<\/ul>\n<p>Onthoud dat dit handig is als je het opstarten van een app wilt automatiseren en ervoor wilt zorgen dat het proces is voltooid voordat je verdergaat. Soms is dit de enige betrouwbare manier bij installatiescripts of batchtaken die afhankelijk zijn van voltooide voorgaande stappen.<\/p>\n<h3>Invoke-Expression gebruiken \u2014 Tja, daar kun je beter meestal van wegblijven.<\/h3>\n<p>Dit vind ik eerlijk gezegd een beetje eng. Microsoft raadt het gebruik ervan af <code>Invoke-Expression<\/code>voor het uitvoeren van uitvoerbare bestanden, omdat het kwetsbaar is voor scriptinjectie en erg lastig kan zijn om te debuggen.<\/p>\n<p>Maar als je zeker weet wat je doet, kun je een uitvoerbaar bestand starten als je het juiste commando geeft. Zoals dit:<\/p>\n<pre><code>Invoke-Expression -Command \".\\Path\\To\\File.exe\"<\/code><\/pre>\n<p>Dit werkt meestal als je je al in de map bevindt waar het bestand staat; in dat geval volstaat alleen de bestandsnaam. Als je in een andere map bent, geef dan het volledige pad op: <code>Invoke-Expression -Command \"D:\\Folder\\File.exe\"<\/code>. Maar let op: deze methode kan onbetrouwbaar of onveilig zijn als je invoer van anderen accepteert. Vermijd deze methode eerlijk gezegd, tenzij je er absoluut zeker van bent dat er niets mis kan gaan, want kwaadaardige scripts kunnen er vrij gemakkelijk in glippen.<\/p>\n<p>Soms kan deze methode op bepaalde systemen een foutmelding geven of niet meteen worden uitgevoerd. Het is een beetje vreemd, maar het gebeurt. En nee, Microsoft is geen groot voorstander meer van deze aanpak, dus gebruik hem met mate.<\/p>\n<div> <strong>Opmerking:<\/strong> In de praktijk zijn methoden zoals <code>&amp;<\/code>of <code>Start-Process<\/code>over het algemeen betrouwbaarder, vooral bij het scripten voor productieomgevingen. De invoke-methode is meer een laatste redmiddel of voor snelle, eenvoudige tests.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Het uitvoeren van een uitvoerbaar bestand (.exe) is vrij eenvoudig als je er gewoon op dubbelklikt. Maar als je dingen automatiseert \u2013 bijvoorbeeld scripts maakt om programma&#8217;s te installeren, omgevingen in te stellen of onderhoudstaken uit te voeren \u2013 moet je vertrouwd raken met hoe Windows PowerShell met die bestanden omgaat. Het is een beetje [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12161","post","type-post","status-publish","format-standard","hentry","category-how-to"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/posts\/12161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/comments?post=12161"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/posts\/12161\/revisions"}],"predecessor-version":[{"id":12162,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/posts\/12161\/revisions\/12162"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/media?parent=12161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/categories?post=12161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/nl\/wp-json\/wp\/v2\/tags?post=12161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}