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
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?

  • Hosted Continuous Integration for PHP?
  • How do I dynamically trigger downstream builds in jenkins?
  • What is the correct way to configure an Android project with submodules for use with the sonarqube gradle plugin?
  • Failed to deploy artifacts
  • SCM sync not working
  • Linux machine failed to connect slave from mac machine connection in Jenkins?
  • 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.