# Issue

• When running a Windows agent connected to a CloudBees Jenkins controller, you may want to set the Powershell path environment variable in order to execute specific commands on the agent.

# Resolution

When setting the Powershell path from a declarative pipeline, one option is to call a batch file from the pipeline. Here is an example stage which calls a batch file:

``````stage('Run Tests') {
steps {
bat 'powershell -noexit "& "".\\run-tests.ps1"""'
}
}
``````

The Powershell path can then be set from within the Powershell script. An example of the contents of the run-tests.ps1 file are below:

``````\$env:path = "\$env:path;C:\selenium\geckodriver-v0.21.0-win64;C:\Program Files\nodejs"

npm install
node run-selenium-tests.js
``````

In the above example, the \$env:path is appended with a folder containing the selenium geckodriver as well as the path to a nodejs installation.

Have more questions?

#### 0 Comments

Please sign in to leave a comment.