我创建了一个脚本文件,并且希望该脚本在每天设置的时间运行
我已将以下代码用于此操作,但无法正常工作。
$app = New-ScheduledTaskAction -Execute "C:\Users\XXX\Desktop\script.ps1";
$time = New-ScheduledTaskTrigger -Daily -At 22:58pm
Register-ScheduledTask TEST1 -Action $app -Trigger $time;
如何在每天的特定时间运行 script.ps1 ? 我在哪里弄错了? 我该如何解决我的问题?
注意:我的Powershell版本
PSVersion 5.1.17134.407
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.407
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
答案 0 :(得分:1)
可能存在多个问题。对于脚本本身,您没有提供源。权限也可能有问题(您是否有权创建任务?您是否有权从目标位置运行脚本?)
无论如何,从您发布的内容来看,问题是您试图直接运行脚本,但应该先--execute powershell.exe
,然后再运行脚本。
这是安排Powershell脚本的一种方法(请注意,它以最高特权运行):
$TaskName = 'MyScript'
$User= "domain\user"
$ScriptPath = "C:\Users\XXX\Desktop\script.ps1"
$Trigger= New-ScheduledTaskTrigger -At 22:58pm -Daily
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-executionpolicy bypass -noprofile -file $ScriptPath"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -User $User -Action $Action -RunLevel Highest -Force