New-ScheduledTaskAction:术语' New-ScheduledTaskAction'不被识别为cmdlet的名称

时间:2017-09-07 13:10:46

标签: powershell

我的脚本就像 -

$action = New-ScheduledTaskAction -Execute "BolusDemoDataGenerator.BAT"
$TaskStartTime = [datetime]::Now.AddMinutes(2) 
$trigger = New-ScheduledTaskTrigger -At $TaskStartTime -Once

$setting = New-ScheduledTaskSettingSet
$inputTask = -action $action  -trigger $trigger -settings
Register-ScheduledTask BatchRunTask -InputObject $inputTask

但是我收到了错误

New-ScheduledTaskAction : The term 'New-ScheduledTaskAction' is not 
recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a 
path was included, verify that the path is
correct and try again.
At C:\Users\abc\Desktop\hi.ps1:1 char:11
+ $action = New-ScheduledTaskAction -Execute "BolusDemoDataGenerator.BAT"
+           ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (New-ScheduledTaskAction:String) 
[], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

不确定有什么问题我尝试执行此powershell脚本在任务计划程序中创建任务以执行桌面中存在的bat文件

1 个答案:

答案 0 :(得分:2)

使用 PowerShell 4.0 ,可以使用新的cmdlet New-ScheduledTaskActionNew-ScheduledTaskTriggerRegister-ScheduledTask轻松创建计划任务,但不幸的是,这在prévious中是不可能的版本(请查看PSVersion中的$PSVersionTable)。

对于以前的版本,您可以找到人们调用schtasks.exe命令的许多示例。

如果您想避免调用外部可执行文件并尽可能多地在PowerShell中使用Task Scheduler’s com object for creating a scheduled task

# Open the Task Scheduler com object
$service = new-object -ComObject("Schedule.Service")