我的剧本就像-

$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文件

最佳答案

使用 PowerShell 4.0 ,可以使用新的cmdlet New-ScheduledTaskActionNew-ScheduledTaskTriggerRegister-ScheduledTask轻松创建计划的任务,但是不幸的是,在以前的版本中是不可能的(请查看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")

关于powershell - New-ScheduledTaskAction : The term 'New-ScheduledTaskAction' is not recognized as the name of a cmdlet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46097299/

10-11 22:57
查看更多