14

Windows Server 2008 のタスク スケジューラと Powershell スクリプトで URL を呼び出したいだけです。

そこで、次のスクリプトを開発しました。

$url = "http://example.com"

$log_file = "${Env:USERPROFILE}\Desktop\Planification.log"
$date = get-date -UFormat "%d/%m/%Y %R"
"$date [INFO] Exécution de $url" >> $log_file

$request = [System.Net.WebRequest]::Create($url)
$response = $request.GetResponse()
$response.Close()

Powershell ISE、Powershell コンソール、または次のコマンドを使用して実行すると、スクリプトは問題なく動作します。

powershell PATH_TO_MY_SCRIPT.ps1

しかし、スケジューラ タスクから実行すると機能せず、コード 0xFFFD0000 が返されます。私はこれを見つけました:http ://www.briantist.com/errors/scheduled-task-powershell-0xfffd0000/ だから、それは許可の問題になる可能性があるので、他の多くのプロファイルとオプション(「すべての許可で実行」を含む)を試しましたテスト、成功せず。

ネットワークドライブをマウントして2つのファイルをコピーする別のPowershellスクリプトも実行しますが、このスクリプトには問題はありません。したがって、この問題は、.NET オブジェクトを使用して URL を呼び出すことに起因していると思います。

他のコマンドの前にスクリプトにモジュールを含める必要があるかもしれないことがわかりましたが、何をしなければならないか正確にはわかりません。(私は Powershell を知りません。問題を解決するために使用しようとしています)。

助けてくれてありがとう。

4

3 に答える 3

18

スケジュールされたタスクで次を使用しましたが、期待どおりに動作します:

$url="http://server/uri"
(New-Object System.Net.WebClient).DownloadString("$url");
于 2013-07-05T11:32:43.397 に答える