由任务计划程序启动的脚本调用的 wget 出现问题
Troubles with wget called by script started by Task Scheduler
我需要加载一个 https 文件。我使用 wget
和选项 --no-check-certificate
。如果由 ISE 调试器启动,它运行完美。如果我在 cmd-console 中启动,它甚至可以完美运行:./myScript.ps1
。但是一旦我将任务计划程序设置为启动我的脚本,我就会得到:
--2016-02-07 19:44:01-- https://www.dailyfx.com/calendar/
Resolving www.dailyfx.com... 104.87.22.147
Connecting to www.dailyfx.com|104.87.22.147|:443... connected.
WARNING: cannot verify www.dailyfx.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3':
Unable to locally verify the issuer's authority.
WARNING: certificate common name `fxcm.com' doesn't match requested host name `www.dailyfx.com'.
HTTP request sent, awaiting response... 403 Forbidden
2016-02-07 19:44:01 ERROR 403: Forbidden.
在调用之前我设置了 $ArgList
然后我调用了 wget
:
$urlDFx = "https://www.dailyfx.com/calendar/"
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate"
$wg = Start-Process wget -wait -NoNewWindow -PassThru -ArgumentList $argList
其他变量是各种本地文件。
同样,它在 ISE 和 CMD 控制台中有效,但如果由任务计划程序启动则无效。脚本的另一部分执行没有任何问题:我做了另一个 http 文件并解析它。
我能做什么?
我已经找到了解决方案,即使我不明白为什么它现在有效!
我设置:
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate --verbose "
1) 即使任务调度程序启动了脚本,它也能正常工作。
2) wget 的日志文件包含与以前完全相同的内容。
(可能现在 --verbose 被跳过了??)
我需要加载一个 https 文件。我使用 wget
和选项 --no-check-certificate
。如果由 ISE 调试器启动,它运行完美。如果我在 cmd-console 中启动,它甚至可以完美运行:./myScript.ps1
。但是一旦我将任务计划程序设置为启动我的脚本,我就会得到:
--2016-02-07 19:44:01-- https://www.dailyfx.com/calendar/ Resolving www.dailyfx.com... 104.87.22.147 Connecting to www.dailyfx.com|104.87.22.147|:443... connected. WARNING: cannot verify www.dailyfx.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. WARNING: certificate common name `fxcm.com' doesn't match requested host name `www.dailyfx.com'. HTTP request sent, awaiting response... 403 Forbidden 2016-02-07 19:44:01 ERROR 403: Forbidden.
在调用之前我设置了 $ArgList
然后我调用了 wget
:
$urlDFx = "https://www.dailyfx.com/calendar/"
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate"
$wg = Start-Process wget -wait -NoNewWindow -PassThru -ArgumentList $argList
其他变量是各种本地文件。
同样,它在 ISE 和 CMD 控制台中有效,但如果由任务计划程序启动则无效。脚本的另一部分执行没有任何问题:我做了另一个 http 文件并解析它。
我能做什么?
我已经找到了解决方案,即使我不明白为什么它现在有效! 我设置:
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate --verbose "
1) 即使任务调度程序启动了脚本,它也能正常工作。 2) wget 的日志文件包含与以前完全相同的内容。 (可能现在 --verbose 被跳过了??)