-1

httpsファイルをロードする必要があります。オプションで使用wgetします--no-check-certificate。ISE デバッガーで開始すると、完全に実行されます。cmd-console: で開始した場合でも、完全に実行されます./myScript.ps1。しかし、スクリプトを開始するようにタスク スケジューラを設定するとすぐに、次のようになります。

--2016-02-07 19:44:01-- https://www.dailyfx.com/calendar/
www.dailyfx.comを解決しています... 104.87.22.147
www.dailyfx.com|104.87.22.147|:443... に接続しています... 接続しました。
警告: `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3' によって発行された www.dailyfx.com の証明書を検証できません:
  発行者の権限をローカルで確認できません。
警告: 証明書の共通名「fxcm.com」は、要求されたホスト名「www.dailyfx.com」と一致しません。
HTTP 要求が送信され、応答を待っています... 403 禁止されています
2016-02-07 19:44:01 エラー 403: 禁止されています。

呼び出す前に を設定してから、次の$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 ファイルを作成して解析しました。

私に何ができる?

4

1 に答える 1

0

なぜこれが機能するのか理解できなくても、解決策を見つけました! 私は設定しました:

    $argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate --verbose "

1)タスクスケジューラがスクリプトを開始した場合でも機能します。2)wgetのログファイルには、以前とまったく同じものが含まれています。(現在は --verbose がスキップされている可能性があります??)

于 2016-02-07T20:50:07.613 に答える