cloudpups / cloudpups/authenticated-scripts

Execute Powershell script with powershell instead of pwsh

Open
#13 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.