【问题标题】:'Invoke-Webrequest' works fine on prompt but fails when executed through Jenkins'Invoke-Webrequest' 在提示时工作正常,但在通过 Jenkins 执行时失败
【发布时间】:2017-05-26 14:59:07
【问题描述】:

我正在使用 PowerShell 脚本从网页获取动态文件名。

当我在 PowerShell 提示符下运行以下代码时,它会返回文件名的输出,例如abcxyz.jpeg.

((Invoke-WebRequest -Uri ‘http://myurl.x.y/abc/pqr/’).Links | Where innerHTML -like “abc*.jpeg”).href

然后我将代码复制到执行 PowerShell 脚本的 Jenkins 作业中。

这里没有返回文件名,而是看到以下错误:

Invoke-WebRequest : 无法解析响应内容,因为 Internet Explorer 引擎不可用,或者 Internet Explorer 的首次启动配置不完整......

我试过用wget替换Invoke-WebRequest,使用-useBasicParsing等。一些网站建议打开和配置Internet Explorer,这已经完成了,不过我也试过了。

Jenkins 作业以管理员用户身份运行。所有其他 PowerShell 命令(例如读取文件、更新文件)都可以正常工作,但仅在上述命令中出现错误。

如果Invoke-WebRequest 在 PowerShell 命令提示符下工作正常,那么为什么不能通过 Jenkins Job 工作呢? PowerShell 脚本是在我正在执行作业的同一台从机上执行的。

我认为这更多地与 Jenkins 环境有关,请指教。

【问题讨论】:

  • 我怀疑 IE 首次启动配置已经为您的用户完成,但不是 Jenkins 用户。您是否在首选搜索引擎中输入了“Internet Explorer 的首次启动配置未完成”?它应该给你一吨的结果。您是否遵循了这些结果中给出的建议?
  • 你试过to open and configure Internet ExplorerAdministrator用户吗?
  • 非常感谢 @AnsgarWiechers 和 beatcracker 指导我配置 Internet Explorer...我假设问题出在 Jenkins 端。

标签: powershell jenkins


【解决方案1】:

搜索“Internet Explorer 的首次启动配置未完成” 我遇到了a link! .需要按照步骤来解决它。但是我是 windows 2012 服务器,我找不到组策略对象对话框窗口。

然后遇到link!找到组策略对象窗口。

步骤在命令行窗口中(运行 gpedit.msc 并单击确定)

滚动浏览附件图像中突出显示的部分并打开“防止运行首次运行向导”。一旦你能够打开它。按照第一个链接中的步骤操作。

【讨论】:

    【解决方案2】:

    几天前我遇到了类似的问题,我通过在“Invoke-WebRequest”调用中应用代理设置解决了这个问题。

    类似的东西;

    Invoke-WebRequest -URI $url -Proxy 'http://10.10.7.11:80' -ProxyCredential $creds
    

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 2017-03-19
      • 2023-01-21
      • 1970-01-01
      • 2021-04-22
      • 2016-07-15
      • 2018-11-23
      • 2013-01-26
      相关资源
      最近更新 更多