Execute Powershell script with powershell instead of pwsh
While playing around with my fork, I noticed that the task for Powershell scripts executes them with Powershell 7 (pwsh.exe) on a Windows runner.
The following implicates that this should only happen when the pwsh parameter is true.
https://github.com/cloudpups/authenticated-scripts/blob/86b99c2b89c3202b31b6bcf05ad6658e43f86510/tasks/powershell/task.json#L121-L129
I believe this is a bug that was copied over from https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/PowerShellV2/powershell.ts, since both that logic and https://github.com/cloudpups/authenticated-scripts/blob/main/tasks/powershell/execute-cli.ts do not make use of the pwsh parameter. The Microsoft task is not affected by that bug, because it uses https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/PowerShellV2/powershell.ps1 when the task is executed on a Windows runner. That script considers the pwsh parameter.
I made a change on my fork to address that issue, but it would require some additional work to bring it over to this repo (mainly to add logic to check if the task is running on Windows or not).
If there is interest for that, I can try creating a pull request.
@FH-Inway- if you can find the time to port those changes over, please do so 😀 copying over the bug itself was definitely an oversight, and one I had not ran into with my own use. This will be helpful for others too!
@JoshuaTheMiller See #14
Note this changes the behavior of the PowerShell task on Windows, because by default, it will now use powershell.exe (i.e. PowerShell 5) instead of pwsh.exe (PowerShell 7). If this causes an issue, it can be easily fixed by setting the pwsh parameter of the task to true, which restores the previous behavior.