使用Windows Task Scheduler运行Powershell脚本时未生成日志文件

时间:2019-04-03 18:49:55

标签: powershell

我创建了以下powershell脚本:

stop-service ''3456''

start-sleep -s 60

stop-service "2354"

start-sleep -s 60

Restart-computer QY34 -Force

send -mailmessage -from operating.system@abc.com -To asdf@abc.com -subject test -attachment 'c:\Temp|test.log' -smtp server "127.0.0.1"

我已经在Windows Task Scheduler中输入了以下信息

在“操作”标签上;

  

C:\ windows \ System32 \ windowspowershell \ v1.0 \ powershell.exe

“参数”标签:

  

-文件“ c:\ scripts \ test.ps1” *>“ c:\ Temp \ test.log”

在通过Task Scheduler运行脚本时,谁能帮助我获取日志文件?

1 个答案:

答案 0 :(得分:0)

更改参数

-file "c:\scripts\test.ps1"*>"c:\Temp\test.log"

 "c:\scripts\test.ps1" *> "c:\Temp\test.log"

,它应该可以正常工作。注意*>之前和之后的空格。

我认为问题在于Powershell将读取-file之后的所有内容作为文件输入。它仍然可以工作,但是由于它只是在“文件”位之后停止读取,因此>运算符将被忽略/不可见。删除-file Powershell仍将使用位置参数查找脚本,但它还将处理>运算符并输出到文件。

如果从命令行运行就可以了,我想是因为在这种情况下cmd.exe会处理输出而不是Powershell,但是请不要在那儿引用我。