如何使用Windows任务计划程序自动执行PowerShell脚本?

AK4*_*K47 63 powershell windows-task-scheduler

我有一个发送电子邮件的PowerShell脚本.我想每1分钟自动执行一次该脚本.我怎么能用任务调度程序呢?

目前我已经创建了一个任务并提供了我的脚本路径.但该调度程序打开我的脚本,而不是执行.

Kev*_*in_ 97

创建计划任务并将操作设置为:

程序/脚本:Powershell.exe

参数:-File"C:\ Users\MyUser\Documents\ThisisMyFile.ps1"

  • @jdgregson:使用完整的管理员帐户,尤其是域管理员帐户,对于任何并非绝对需要它的人来说,这不是一种安全方面的好习惯,尽管也不是在正确识别时使用与某个人相关联的帐户.通常的建议是专门为具有这些任务所需特权的任务创建域帐户.这有时意味着拥有多个维护帐户,每个帐户具有不同的权限 显然,如果发生事故,请记录这一点,基础设施中的某些人需要重建安排. (3认同)
  • @JohnDemetriou 通常会发生这种情况,因为计划任务是作为哪个用户帐户执行的。 (2认同)

JPB*_*anc 14

以下是使用PowerShell 3.0或4.0的示例-RepeatIndefinitely:

# Trigger
$middayTrigger = New-JobTrigger -Daily -At "12:40 AM"
$midNightTrigger = New-JobTrigger -Daily -At "12:00 PM"
$atStartupeveryFiveMinutesTrigger = New-JobTrigger -once -At $(get-date) -RepetitionInterval $([timespan]::FromMinutes("1")) -RepeatIndefinitely

# Options
$option1 = New-ScheduledJobOption –StartIfIdle

$scriptPath1 = 'C:\Path and file name 1.PS1'
$scriptPath2 = "C:\Path and file name 2.PS1"

Register-ScheduledJob -Name ResetProdCache -FilePath $scriptPath1 -Trigger  $middayTrigger,$midNightTrigger -ScheduledJobOption $option1
Register-ScheduledJob -Name TestProdPing -FilePath $scriptPath2 -Trigger $atStartupeveryFiveMinutesTrigger
Run Code Online (Sandbox Code Playgroud)


Car*_*lho 7

就我而言,我的脚本有参数,所以我设置:

参数:-Command "& C:\scripts\myscript.ps1 myParam1 myParam2"


Oca*_*tal 6

您应该在任务计划程序中使用脚本启动PowerShell,而不是仅在任务计划程序中使用脚本的路径,例如

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -NonInteractive -File "C:\Path\To\Your\PS1File.ps1"
Run Code Online (Sandbox Code Playgroud)

有关powershell /?这些开关的说明,请参阅.

如果你仍然遇到问题,你应该阅读这个问题.


小智 5

经过几个小时的互联网测试和研究,我终于找到了如何使用任务计划程序启动我的 PowerShell 脚本,这要归功于Jack Fruh @sharepointjack的视频使用 Windows 任务计划程序调度 PowerShell 脚本。

程序/脚本 -> 通过 powershell.exe 放置完整路径

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Run Code Online (Sandbox Code Playgroud)

添加参数 -> 脚本和脚本的完整路径,不带任何“”。

从(可选)开始 -> 脚本所在的目录,没有任何“”。


Ale*_*yGy 5

您可以使用 Unblock-File cmdlet 取消阻止此特定脚本的执行。这可以防止您出于安全考虑而进行任何您可能不希望发生的永久性策略更改。

Unblock-File path_to_your_script
Run Code Online (Sandbox Code Playgroud)

来源:解锁文件