gpt4 book ai didi

powershell - 使用计划的 Powershell 脚本调用 URL

转载 作者:行者123 更新时间:2023-12-04 00:44:34 28 4
gpt4 key购买 nike

我只想使用 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/
所以这可能是一个权限问题,所以我尝试了许多其他配置文件和选项(包括“以所有权限执行”)来测试,但没有成功。

我还执行了另一个 Powershell 脚本,它只是挂载了一个网络驱动器并复制了两个文件,我对这个脚本没有任何问题。所以我认为问题来自使用 .NET 对象来调用我的 URL。

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

谢谢你的帮助。

最佳答案

您需要将该日志文件放在共享目录中的某个位置。计划任务可能有也可能无权访问 $env:USERPROFILE .另外,请使用 Start-Transcript让 PowerShell 将脚本的输出写入日志文件(STDOUT 除外,您需要将可执行文件的输出通过管道传输到 Write-Host,例如 hostname | Write-Host )。

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

$log_file = "C:\PlanificationLogs\Planification.log"
Start-Transcript -Path $log_file

Get-Date -UFormat "%d/%m/%Y %R"
Write-Host "$date [INFO] Exécution de $url"

# PowerShell 3
Invoke-WebRequest -Uri $url

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

关于powershell - 使用计划的 Powershell 脚本调用 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486205/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com