正如标题所示,我在Task Scheduler Actions中添加了一个参数,它将stdout和stderr记录到log.txt文件中。通过命令提示符运行操作时,日志记录工作,但实际任务计划程序(在其指定时间)运行操作时,日志记录不起作用。任务计划程序报告操作成功运行,但我无法确定它是否因为没有记录:)
命令看起来像这样
powershell.exe -file "D:\Scripts\TimeSync2.ps1" > "D:\Scripts\timeSync_log.txt" 2>&1
我很遗憾不是原生Windows用户,所以任何帮助都会受到赞赏。我正在运行Windows Server 2008 R2 Enterprise。 谢谢!
答案 0 :(得分:1)
Cmd.exe处理命令重定向。您必须在cmd.exe下运行它。 Powershell可能也可以在你的脚本(.NET可以)中进行重定向。
黑色窗口表示控制台程序正在运行。仅当cmd正在运行时,cmd功能才可用。通过启动cmd或将其放入批处理,您可以从cmd重定向。
cmd /c powershell.exe -file "D:\Scripts\TimeSync2.ps1" > "D:\Scripts\timeSync_log.txt" 2>&1
请参阅“帮助”
cmd /?
答案 1 :(得分:0)
将列出的命令放在批处理文件中,然后安排批处理文件。
如果您这样做并且失败了,请尝试使用您的帐户凭据作为任务计划程序中的身份验证,以查看它是否是权限问题。
@echo off
powershell.exe -file "D:\Scripts\TimeSync2.ps1" > "D:\Scripts\timeSync_log.txt" 2>&1