使用windows任务计划程序运行powershell脚本时未生成日志文件
我已创建以下powershell脚本:使用windows任务计划程序运行powershell脚本时未生成日志文件,powershell,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 s
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任务计划程序中输入以下信息
在“操作”选项卡上
C:\windows\System32\windowspowershell\v1.0\powershell.exe
“参数”选项卡:
-文件“c:\scripts\test.ps1”*>“c:\Temp\test.log”
在通过任务计划程序运行脚本时,是否有人可以帮助我获取日志文件?更改
-file "c:\scripts\test.ps1"*>"c:\Temp\test.log"
到
它应该像预期的那样工作。注意前面和后面的空白空间.< /p>
我认为问题在于Powershell将在文件输入后读取所有内容。它仍然可以工作,但由于它只是在“file”位之后停止读取,>操作符被忽略/看不到。Removing-file Powershell仍将使用位置参数查找脚本,但它还将处理>操作符并输出到文件
如果从命令行运行If,它会工作,因为在这种情况下,cmd.exe将处理输出,而不是Powershell,但不要引用我的话。将参数从
-file "c:\scripts\test.ps1"*>"c:\Temp\test.log"
到
它应该像预期的那样工作。注意前面和后面的空白空间.< /p>
我认为问题在于Powershell将在文件输入后读取所有内容。它仍然可以工作,但由于它只是在“file”位之后停止读取,>操作符被忽略/看不到。Removing-file Powershell仍将使用位置参数查找脚本,但它还将处理>操作符并输出到文件
如果从命令行运行If,它会正常工作,我想是因为在这种情况下,cmd.exe将处理输出,而不是Powershell,但请不要引用我的话。您是否尝试过从控制台运行该行。。。任务调度器将运行的整个行可能与您认为的不同。[露齿而笑]你有没有试过从控制台运行那条线路。。。任务调度器将运行的整个行可能与您认为的不同。[grin]您是对的,但值得注意的是,省略
-file
意味着-command
(在Windows PowerShell中;在PowerShell核心中,-file
现在是默认值)。如果不使用&
和嵌入式引号,则仅当脚本路径恰好不包含空格时,该命令才会起作用;输出路径同上。您是正确的,但值得注意的是,省略-file
意味着-command
(在Windows PowerShell中;在PowerShell Core中,-file
现在是默认值)。如果不使用&
和嵌入式引号,则仅当脚本路径恰好不包含空格时,该命令才会起作用;输出路径同上。