在Windows Task Scheduler上运行PowerShell的问题

时间:2018-08-05 17:03:28

标签: powershell scheduled-tasks taskscheduler

我正在尝试通过任务计划程序运行PowerShell命令,但是当任务尝试在Windows Server 2008 R2环境中运行PowerShell时,仍然得到以下结果。

  

操作“ powershell.exe”,返回代码为1。

当我在PowerShell中手动运行脚本时,脚本将运行。但是由于某种原因,当我从任务计划程序调用它时,它无法运行。

下面是我的操作设置的屏幕截图。

我已确保执行以下操作:

  1. 将ExecutionPolicy设置为RemoteSigned
  2. 将任务设置为以最高特权运行
  3. 设置任务以无论用户是否登录都运行
  4. 设置Windows 7,Windows Server 2008 R2的任务配置

我没什么主意。

enter image description here

2 个答案:

答案 0 :(得分:0)

感谢@ TheIncorrigible1的帮助,找出了这一点。

问题是任务调度程序上的“开始于”字段设置为具有除C以外的根目录的路径:

为解决此问题,我将“开始于”留为空白,并在“添加参数”字段中将脚本文件命名为具有完整文件路径的脚本文件。

代替下面的“添加参数”字段

ls -t $(pwd)/Backup_db/*.tar.gz | head -1 | xargs -n1 tar -C /somedirectory -xf

我引用了以下脚本:

.\csv-convert.ps1

最重要的是,不要在目录不是C的路径中启动powershell:

答案 1 :(得分:0)

就我而言,问题是我从Windows Server 2016上的另一个Task Scheduler复制了参数以在Windows 2008 R2上进行设置-希望它能正常工作。

2016年,我拥有:

-ExecutionPolicy Bypass "C:\Test\SendEmail.ps1"

对于2008 R2,“-File”标志是必需的:

-ExecutionPolicy Bypass -File "C:\Test\SendEmail.ps1"