【发布时间】:2020-11-06 05:04:08
【问题描述】:
我有一些带有 Write-Host 的 Powershell 脚本,但我想将其用作计划任务。
我将它添加为计划任务:
$action = New-ScheduledTaskAction -Execute "$pshome\powershell.exe -WindowStyle Hidden" -Argument "-File $FilePath"
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval $repeat
Register-ScheduledTask -TaskName $Name -Trigger $trigger -RunLevel Highest -Action $action
我可以让它写入日志文件吗?是否可以使其写入与 Powershell 脚本位于同一位置的文件?
【问题讨论】:
-
是的,要么使用
Out-Filecmdlet,要么您可以安排脚本将输出重定向到文件.\script.ps1 > scriptOut.log您也可以同时使用 stout 和 sterr。.\script.ps1 > script_out.log 2>&1 -
您是否尝试将
Write-Host语句更改为Out-File或Add-Content?当前脚本的位置可以从$PsScriptRoot变量中获取。 -
两个建议最终都显示“你想如何打开这个文件”模式
-
@Gerhard 我在 Powershell 控制台中使用过它。在计划任务中,它使用
-WindowStyle Hidden执行。这会导致奇怪的行为吗? -
嗯,这只是一个例子。我建议你改用
Out-Filecmdlet。
标签: powershell scheduled-tasks