PowerShell
Uitvoerbare bestanden uitvoeren
Zoeken…
Consoletoepassingen
PS> console_app.exe
PS> & console_app.exe
PS> Start-Process console_app.exe
GUI-toepassingen
PS> gui_app.exe (1)
PS> & gui_app.exe (2)
PS> & gui_app.exe | Out-Null (3)
PS> Start-Process gui_app.exe (4)
PS> Start-Process gui_app.exe -Wait (5)
GUI-toepassingen worden in een ander proces gestart en geven de besturing onmiddellijk terug aan de PowerShell-host. Soms moet de toepassing worden verwerkt voordat de volgende PowerShell-instructie moet worden uitgevoerd. Dit kan worden bereikt door de applicatie-uitvoer naar $ null (3) te leiden of door Start-Process te gebruiken met de -Wait-schakelaar (5).
Console Streams
PS> $ErrorActionPreference = "Continue" (1)
PS> & console_app.exe *>&1 | % { $_ } (2)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.ErrorRecord] } (3)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.WarningRecord] } (4)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.VerboseRecord] } (5)
PS> & console_app.exe *>&1 (6)
PS> & console_app.exe 2>&1 (7)
Stream 2 bevat objecten System.Management.Automation.ErrorRecord. Merk op dat sommige applicaties zoals git.exe de "foutstroom" gebruiken voor informatieve doeleinden, die helemaal niet noodzakelijkerwijs fouten zijn. In dit geval is het het beste om de exitcode te bekijken om te bepalen of de foutstroom als fouten moet worden geïnterpreteerd.
PowerShell begrijpt deze streams: uitvoer, fout, waarschuwing, uitgebreid, foutopsporing, voortgang. Native applicaties gebruiken meestal alleen deze streams: Output, Error, Warning.
In PowerShell 5 kunnen alle streams worden omgeleid naar de standaard output / succes-stream (6).
In eerdere PowerShell-versies kunnen alleen specifieke streams worden doorgestuurd naar de standaarduitvoer- / successtream (7). In dit voorbeeld wordt de "foutstroom" omgeleid naar de uitvoerstroom.
Codes afsluiten
PS> $LastExitCode
PS> $?
PS> $Error[0]
Dit zijn ingebouwde PowerShell-variabelen die aanvullende informatie bieden over de meest recente fout. $LastExitCode
is de laatste $LastExitCode
van de laatste native applicatie die werd uitgevoerd. $?
en $Error[0]
is het laatste foutenrecord dat werd gegenereerd door PowerShell.