当前位置: 首页 > 知识库问答 >
问题:

计划的PowerShell任务不会写入文件

贺宜修
2023-03-14

我有一个PowerShell (PS)脚本,我想在每天早上5:00执行它。我想让它自动运行,所以我通过任务调度器(运行Windows 7旗舰版和SP1,64位)来安排它。作为一个测试,我写了一个简单的PS脚本,它只是将时间戳附加到一个文本文件中。它运行——我可以看到PowerShell窗口打开了,它写出了PS日志——但它没有写入文本文件。

脚本在命令行和PS shell中运行良好。无论是从计划时间还是仅从任务计划程序列表,右键单击并选择运行,它都无法在任务计划程序中工作。两次都运行,但不写入文本文件

在任务调度程序中,我将“操作”设置为启动一个程序PowerShell.exe。对于“添加参数”,我有:-NoProfile-ExecutionPolicy-Bypass-Command C:\AccessTask\ATestScript.ps1

脚本本身很简单:

Start-Transcript -path "C:\Temp\aTestScript.log" -Verbose

write-output "Start";

# just write one line to file
write-output "Logging";
$text = Get-Date
$text >> 'aTestScriptOutput.txt'

write-output $error[0] | fl -force
write-output "Quit";

Stop-Transcript

我需要做什么特殊的事情来允许一个计划任务写入一个文本文件吗?

共有3个答案

南宫凯康
2023-03-14

您应该以最高权限(在任务定义中)运行任务以使其写入文件夹。

黎鹤轩
2023-03-14

计划任务不会在脚本的目录中运行。您需要在计划任务编辑器中设置该目录。我相信它是“开始”字段。

如果输出文件始终位于同一位置,则可以使用完整的绝对路径。要提高可移植性,请使用相对于脚本的路径,例如 Join-Path -Path $PSScriptRoot -ChildPath 'aTestScriptOutput.txt'

最后的建议:如果输出文件将仅包含文本,则通过管道将输出传输到“设置内容”,而不是重定向

桓瀚
2023-03-14

添加文件的完整路径是答案:

$text >> 'C:\Temp\aTestScriptOutput.txt'

指定启动目录可能也起作用了。谢谢你的帮助!

 类似资料:
  • 我的域控制器上有一个小脚本,它被设置为通过SMTP向我发送有关最新安全事件4740的电子邮件。 手动执行时,脚本将按预期运行;但是,当设置为通过计划任务运行时,尽管它显示已执行,但没有任何反应(没有电子邮件)。 脚本如下: 计划任务设置如下: 我还尝试了以下方法: 根据任务历史记录:任务开始、行动开始、创建任务流程、行动完成、任务完成。我浏览了网站上一些有着相同“问题”的不同链接,但它们似乎都有一

  • 我对Powershell脚本非常陌生,但尝试修改我在这里找到的脚本,以便在Windows 2012 R2中使用Powershell导入一些XML计划任务。 我已经成功地将计划的任务导入到根[任务计划程序库]使用此脚本。 问题似乎是调度任务需要导入到任务调度程序库下的子文件夹中,比如说“子任务” } 当我运行上述Powershell脚本时,我收到这个错误: 异常调用带有“7”参数的“注册任务定义”:

  • 本文向大家介绍如何使用PowerShell启动任务计划程序的特定任务?,包括了如何使用PowerShell启动任务计划程序的特定任务?的使用技巧和注意事项,需要的朋友参考一下 要使用PowerShell启动任务计划程序的特定任务,我们需要使用Start-ScheduledTask 命令。 当我们运行上面的命令时,我们需要提供任务名称。 例如, 当您检查以上任务状态时, 示例 输出: 要在远程计算机

  • 计划任务系统使用说明 新版计划任务为用户提供了以下功能 创建一个计划任务 修改一个计划任务 删除计划任务 查看一个namespace的所有计划任务 查看一个namespcae的某个计划任务详细内容 查看一个计划任务的执行状况 查看任务的日志 查看创建的计划任务列表和某个计划任务的详细信息。 点击计划任务v2,进入计划任务列表,在这里可以看到用户名下的所有计划任务,点击一个计划任务,可以看到该计划任

  • 我想每小时向我的用户发送推送通知。 以上是我试图每小时执行的内容。 但是当执行该脚本时,我得到的是一个错误消息: "Traceback(最近的调用最后): File"/home/User/Folder/Project/App/schedule.py",第1行,从push_notifications.models导入APNSDevice重要错误:没有名为push_notifications.mode

  • 我有一个批处理文件,其中包含以下代码以停止和启动SQL报告服务: 我已经设置了每天运行的计划任务,它目前以SYSTEM的形式运行,并设置了最高权限。我在操作上设置了文件夹中的开始选项,通常一切似乎都设置正确。但是当我运行任务时,似乎什么都没有发生,它说任务已经运行,但我看不到服务已经按预期重新启动。 有人能告诉我我错过了什么吗?