AK4*_*K47 63 powershell windows-task-scheduler
我有一个发送电子邮件的PowerShell脚本.我想每1分钟自动执行一次该脚本.我怎么能用任务调度程序呢?
目前我已经创建了一个任务并提供了我的脚本路径.但该调度程序打开我的脚本,而不是执行.
Kev*_*in_ 97
创建计划任务并将操作设置为:
程序/脚本:Powershell.exe
参数:-File"C:\ Users\MyUser\Documents\ThisisMyFile.ps1"
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)
您应该在任务计划程序中使用脚本启动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)
添加参数 -> 脚本和脚本的完整路径,不带任何“”。
从(可选)开始 -> 脚本所在的目录,没有任何“”。
您可以使用 Unblock-File cmdlet 取消阻止此特定脚本的执行。这可以防止您出于安全考虑而进行任何您可能不希望发生的永久性策略更改。
Unblock-File path_to_your_script
Run Code Online (Sandbox Code Playgroud)
来源:解锁文件