The easiest way to allow many many many scenarios imho would be to do this as follows:
- Allow the launch command to point to a powershell file to execute it
- Provide a configuration on the app or tenant settings that toggles "enable local machine access" (default off), to enable this to work or not
- The powershell file runs in the context of the logged on user on the local machine
- the powershell can return information to the app
- the launch command has a true/false parameter to wait for the powershell execution to complete or not
This would enable a gazillion scenarios where you might want to create a local file, print, or run any type of script by clicking a button in the power app that today people are trying to find workarounds for via Flow and on premise gateways etc...
I have seen examples of Launch to open a web page, to dial a phone number, to send an email, etc... so a lot of the plumbing is already there.