Jenkins execute PowerShell scripts

Question:

I’m trying to run PowerShell scripts from Jenkins, but it seems to completely ignore the execution policy! This happens either by executing powershell.exe directly, or using the PowerShell plugin

Additional information:

Jenkins is running as a Windows Service (using the Local System account, non-interactive). Connecting to that server, and checking execution policy is indeed RemoteSigned:

However, when running a Jenkins build, this is not the case. Here’s the output of executing Get-ExecutionPolicy -List inside a build step:

I also tried setting it explicitly from the build step, nothing.

What am I missing?

Answer:

After more than two hours of pulling my hair, the problem was x86/x64!!!

Turns out, Set-ExecutionPolicy of x64 (default) PowerShell has no effect on the x86 settings!

Jenkins is a 32-bit process, running from a Windows service – it executes the x86 PowerShell!

In addition, the Modules directory for x86 PowerShell is located under %systemroot%\SysWow64\WindowsPowerShell\1.0\Modules, another important fact to remember!

Source:

Jenkins execute PowerShell scripts by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply