Skip to main content
Background Image
  1. Posts/

PowerShell is not recognized as an internal or external command

·143 words·1 min· ·
Xianpeng Shen
Author
Xianpeng Shen
Table of Contents

Recently, while setting up a new Windows Server 2022, I encountered an issue where my Ansible playbook, which previously worked without problems, failed to execute.

Here’s the configuration I used for the Windows host in my Ansible inventory:

[jenkins-agent-windows:vars]
ansible_user=
ansible_ssh_pass=
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_winrm_server_cert_validation=ignore

However, when I ran the playbook, the following error occurred:

winrm send_input failed;
stdout:
stderr 'PowerShell' is not recognized as an internal or external command, operable program or batch file.

Cause of the Issue
#

This is usually the case when the SYSTEM’s PATH environment variable has been changed and is no longer able to find PowerShell.exe in the path.

Please verify the PATH environment contains the entry C:\Windows\System32\WindowsPowerShell\v1.0 in there.

Solution
#

Right-click This PC > Properties > Advanced system settings > Environment Variables.

After adding C:\Windows\System32\WindowsPowerShell\v1.0 to PATH, the error disappeared, and my Ansible playbook executed successfully.

Related

What Optimizations I Made During the Jenkins Upgrade
·481 words·3 mins
This article discusses the optimizations made during the Jenkins upgrade, including using Docker Compose for deployment, refactoring the Jenkins Shared Library, introducing Windows Docker Containers, and more to enhance the efficiency and security of the CI/CD process.
Conventional Branch Specification Released!
·488 words·1 min
This article introduces the Conventional Branch specification, which provides a structured naming convention for Git branches to enhance readability and collaboration.
Resolved - The Pip Inspector tree parse failed to produce output
·455 words·1 min
This article explains how to resolve the “The Pip Inspector tree parse failed to produce output” error in Black Duck Detect, including the root cause and solution.
Different branches have different default parameters in Jenkins
·158 words·1 min
This article explains how to set different default parameters for different branches in Jenkins multibranch pipelines, allowing for dynamic configuration based on the branch being built.
Jenkins Multibranch Pipeline
·405 words·2 mins
Discusses the use of Jenkins Multibranch Pipeline to manage multiple branches in a project, enabling parallel builds for pull requests and efficient code review processes.