cloudpups / cloudpups/authenticated-scripts
Execute Powershell script with powershell instead of pwsh
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
While playing around with my [fork](https://github.com/InwaySystems/authenticated-lcs-scripts), 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](https://github.com/InwaySystems/authenticated-lcs-scripts/commit/be56147821beb15386f958bd3c8105f6ec0b7d23) 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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with tasks/powershell/task.json at the linked command-selection logic and tasks/powershell/execute-cli.ts, then compare the Windows behavior with Microsoft's PowerShellV2 powershell.ps1 and powershell.ts. Verify how the pwsh parameter and Windows detection should affect execution, and confirm both Windows and non-Windows task paths behave as intended.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, powershell, typescript
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100