【问题标题】:The term 'powershell.exe' is not recognized as the name of a cmdlet in VSTS Task在 VSTS 任务中,术语“powershell.exe”未被识别为 cmdlet 的名称
【发布时间】:2018-08-30 06:25:15
【问题描述】:

突然间我得到了错误

"2018-08-30T06:19:30.8460321Z ##[错误]术语“powershell.exe”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称,或者如果包含路径,请验证路径是否正确并重试。 " 在 VSTS 中执行 PS 任务时。

我的 PS 任务有简单的 Write-Host $variable 语句,它一直工作到今天,但出了点问题,尝试重新启动目标机器,确保 PS 可用等。

请问有什么调试步骤吗?

【问题讨论】:

  • 您使用的是 VSTS 托管代理(或)您自己的代理吗?
  • 你好。我自己的经纪人
  • 那么我猜下面的答案可能对你有用!不是吗?
  • 路径存在但它给出了同样的错误。
  • cmd 中的普通powershell.exe 是否在您的代理中工作?

标签: powershell azure-devops


【解决方案1】:

以防万一有人在托管的虚拟机上收到此错误消息。我有同样的问题,它是由一个名为“Path”的管道变量引起的。所以只要比我聪明,不要这样命名你的变量。

这是您绝对应该避免的:

【讨论】:

  • 遇到了同样的问题,感谢您发现这个问题!
  • 真棒回答感谢您的帮助,我的确切问题。
【解决方案2】:

参考以下步骤:

  1. 检查系统变量Path变量
  2. 默认有%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\项,如果不存在,请将包含PowerShell.exe的相关路径添加到Path变量中
  3. 重启你的机器。

【讨论】:

    【解决方案3】:

    检查机器上的环境变量 - “路径”变量应该具有 system32 中 Windows PowerShell 目录的路径

    【讨论】:

      【解决方案4】:

      问题在于内联 PS 脚本,任何脚本错误都会抛出。

      术语“powershell.exe”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

      创建了一个新的发布定义并且它工作了

      【讨论】:

        【解决方案5】:

        所以我注意到之前创建的发布定义没有同样的问题,但是如果我为 PowerShell(Microsoft 版本)添加一个新的 VSTS 任务到发布定义中,它无法识别 powershell。我想知道他们是否推动了对任务的更改并且它破坏了某些东西。我的代理路径目录是正确的。

        作为替代方案,我正在使用第 3 方开发人员的任务。 https://thinkrethink.net/2016/05/20/using-the-inline-powershell-vsts-task/

        【讨论】:

          猜你喜欢
          • 2019-10-12
          • 2017-12-11
          • 2021-12-09
          • 2020-02-25
          • 2020-04-17
          • 2018-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多