Jenkins execute PowerShell scripts

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:

PS C:\> whoami
nt authority\system

PS C:\> Get-ExecutionPolicy
RemoteSigned
PS C:\>

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

d:\workspace\test-job>powershell Get-ExecutionPolicy -list 
  Scope                         ExecutionPolicy
  -----                         ---------------
  MachinePolicy                 Undefined
  UserPolicy                    Undefined
  Process                       Undefined
  CurrentUser                   Undefined
  LocalMachine                  Undefined

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

What am I missing?

  • Dynamic Parameter in Jenkinsfile?
  • Jenkins: conditional trigger on the build step
  • Linux machine failed to connect slave from mac machine connection in Jenkins?
  • Running a Git build inside a ClearCase View in tcsh
  • Jenkins git fetch fails with unknown option --progress
  • Migrating to Jenkins 2.1- AJP support is removed in Winstone 3.0 due to Jetty 9 not supporting AJP
  • One Solution collect form web for “Jenkins execute PowerShell scripts”

    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!

    Git Baby is a git and github fan, let's start git clone.