我创建了以下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运行脚本时,谁能帮助我获取日志文件?
答案 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,但是请不要在那儿引用我。