Archief - PS- Powershell scripts bundelen in 1 script

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

pinoken

Legacy Member
Is het mogelijk om een powershellscript uit te voeren door middel van een ander script?

Ik heb meerdere scripts geschreven en nu zou ik (om het ordelijk te maken) graag één script hebben met een kleine interface waarmee ik andere scripts kan activeren.

Puur theoretisch voorbeeldje:
Ik heb een script om Word te openen, eentje om Excel te openen en eentje om Google chrome te starten. Nu wil een ik scriptje dat een formpje genereert met 3 knoppen op, en elke knop activeert 1 van die scriptjes. Dus knop 1 activeert script 1 en opent dus Word.

Hoe pak ik dit het beste aan? Het formpje genereren is geen enkel probleem, ik zoek een manier om via 1 scriptje een ander scriptje te openen en uit te voeren.

Bij voorbaat dank. :)

Fraggie

Legacy Member
Besef dat je met een scripting taal bezig bent die de vele mogelijkheden heeft van de .NET library. Het is niet te bedoeling om daarmee grote programma's te schrijven, dan stap je beter over naar een console applicatie in bv. C#. Ook .NET kennende zal je dan specifieke PS zaken ook kunnen gebruiken binnen je C# console app.

Wat je echter altijd kan proberen is een nieuw processes starten vanuit je main script. Stel je hebt 3 files:
- je form met de keuzes om Word en Chrome te starten
- een PS script dat Word start
- een PS script dat Chrome start

Via de PS console start je de form en via User I/O start je nieuwe PS consoles die onafhankelijk zijn van jou process, die vervolgens Word of Chrome starten. Om dit proper te houden moet je met twee dingen rekening houden:
01) jou form process mag niet de parent process zijn van de andere processen. Doe je dit verkeerd dat zal Word en/of Chrome ook sluiten, het moment dat je de form sluit.
02) de nieuwe PS console starten zonder dat er een window voor gecreëerd wordt (zie bv. start.exe /B).

Mijn uitleg is gebaseerd hoe ik super simpele loaders maak voor programma's m.b.v. batch files. Het kan zijn dat PS dit iets eleganter oplost, maar daarvoor heb ik te weinig ervaring met PS. Zie bv. ook de port van het Linux programma (of script?) run naar Windows.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan