我只想使用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

但是当我从Scheduler任务执行它时,它不起作用,它返回代码0xFFFD0000。我发现了这个:http://www.briantist.com/errors/scheduled-task-powershell-0xfffd0000/
因此这可能是一个权限问题,因此我尝试了许多其他配置文件和选项(包括“使用所有权限执行”)进行测试,但均未成功。

我还执行了另一个Powershell脚本,该脚本仅挂载网络驱动器并复制两个文件,并且此脚本没有任何问题。因此,我认为问题出在使用.NET对象调用我的URL。

我看到我可能必须在脚本中包含模块,然后再执行其他任何命令,但是我不知道该怎么做。 (我不知道Powershell,我只是尝试使用它来解决我的问题)。

谢谢你的帮助。

最佳答案

我在计划的任务中使用了以下内容,它可以按预期工作:

$url="http://server/uri"
(New-Object System.Net.WebClient).DownloadString("$url");

07-24 09:38
查看更多