在任务计划程序中运行的 Powershell 脚本未产生结果

在任务计划程序中运行的 Powershell 脚本未产生结果

我正在尝试在 Windows Server 2012 中将 Powershell 脚本文件作为计划任务运行。该脚本使用 xml 过滤器在事件查看器中选择事件并将其保存到文本文件中。脚本文件名为 Sugar2SvcNowLog.ps1,包含以下文本:

Get-WinEvent -FilterXml ([xml] (Get-Content "Desktop\Sugar2SvcNow.xml")) | format-table ProviderName, TimeCreated, Id, LevelDisplayName, message -wrap -autosize | Out-File -FilePath "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog $(get-date -f yyyy-MM-dd_HHmmss).txt"

当我在 Windows 命令提示符中运行该脚本时,它会创建一个完全符合预期的文本文件,如下所示:

powershell -file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

然后,我设置了一个任务计划程序,其中要运行的程序设置为"powershell",参数为

-file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

作业运行时,状态显示为“操作已成功完成”。但是,没有生成文本文件。如果没有生成文件,如何才能成功完成操作?我应该采取什么不同的措施?

答案1

您的脚本指的是Desktop

但是,从任务计划程序运行时,没有用户登录,也没有桌面。

我建议将文件放在Sugar2SvcNow.xml某个文件夹中,并在脚本中提供其完整路径。

相关内容