【问题标题】:PowerShell Script not running when set in the task scheduler在任务计划程序中设置时 PowerShell 脚本未运行
【发布时间】:2019-06-02 21:42:09
【问题描述】:

我正在尝试通过 powershell 创建一个任务以删除一些超过 6 小时的文件,如果我从 powershell 执行脚本没有问题,如果我尝试从任务调度程序执行,则没有任何反应..

在我的计划任务中调用Powershell.exe

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

设置此参数:

-NoProfile -ExecutionPolicy Bypass -Command -NonInteractive -File "C:\Scripts\DeleteFilesDiff3H.PS1"

任务计划程序没有启动我的脚本可能是什么问题?

试图将一些解决方案提供给类似的问题,但没有成功

$Path = "E:\MyPath"
$now = Get-Date

Get-Childitem * |
Where-Object { $_.LastWriteTime -le $now.AddHours(-6) } |
Remove-Item -Recurse -Force

我收到了这条消息:

Task Scheduler started "{38dcd44b-4210-473b-921e-3cc1442ff03b}" instance of the "\Delete Files 3H" task for user "my user".

Task Engine "S-1-5-21-159114655-2248028564-2417230598-213599:My User:Interactive:LUA[2]"  received a message from Task Scheduler service requesting to launch task "\Delete Files 3H" .

Task Scheduler launched "{38dcd44b-4210-473b-921e-3cc1442ff03b}"  instance of task "\Delete Files 3H" due to a time trigger condition.

Task Scheduler successfully completed task "\Delete Files 3H" , instance "{618e6f44-b523-4c56-ae0b-04d3552391cc}" , action "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" with return code 0.

【问题讨论】:

  • 使用 either -Command-File,它们用于不同的、相互排斥的目的。在您的情况下,请尝试删除 -Command
  • 您好 mklement0 感谢您的帮助。删除 -Command 不会改变输出,即使任务完成成功没有文件被删除。

标签: powershell


【解决方案1】:

您没有使用定义的变量$path,所以Get-ChildItem 永远不会在那里查看。将您的代码更新为以下内容并检查这是否适合您:

$Path = "E:\MyPath"
$now = Get-Date

Get-Childitem -path $Path |
Where-Object { $_.LastWriteTime -le $now.AddHours(-6) } |
Remove-Item -Recurse -Force

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 2015-07-22
    • 2020-08-07
    • 2017-08-01
    • 2017-11-08
    • 2019-10-31
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多