Powershell Windows 2008服务器计划任务

Powershell Windows 2008服务器计划任务,powershell,cmd,scheduled-tasks,windows-server-2008-r2,Powershell,Cmd,Scheduled Tasks,Windows Server 2008 R2,我开发了一个脚本来提取Windows 2012 R2上的计划任务,它在powershell中运行得非常好。但实际上我有一个问题,因为我有一个2008服务器,它似乎没有Get-ScheduledTask cmdlet 我试图提取一些任务(其名称相当长)。我试着用 schtasks.exe /tn "Start*JOB*" 但是没有成功,因为cmd返回并出错 ERROR: The system cannot find the path specified. 我的问题是:我们是否可以使用通配符,通

我开发了一个脚本来提取Windows 2012 R2上的计划任务,它在powershell中运行得非常好。但实际上我有一个问题,因为我有一个2008服务器,它似乎没有Get-ScheduledTask cmdlet

我试图提取一些任务(其名称相当长)。我试着用

schtasks.exe /tn "Start*JOB*"
但是没有成功,因为cmd返回并出错

ERROR: The system cannot find the path specified.

我的问题是:我们是否可以使用通配符,通过一些字母而不是全名来查找任务/作业?否则,是否有其他解决方案可以获得相同的结果?

您可以使用
SCHTASKS/Query
解析所需任务的返回

SCHTASKS /Query | Where-Object { $_ -like 'Start*JOB*' }

使用ComObject,您可以在PowerShell中管理计划任务

$Scheduler = New-Object -ComObject Schedule.Service
$Scheduler.Connect()
$RootFolder = $Scheduler.GetFolder('\')
$MyTask = $RootFolder.GetTasks(0) | ?{$_.Name -like "Start*JOB*"}
然后,您可以根据需要操纵任务(通过方法、更改触发器或您想做的任何事情来启动/停止任务)。或者,如果没有返回任何内容,则可以通过
$Scheduler
对象创建新任务

因此,您可以为
.Connect()
方法提供远程服务器名称,并以这种方式管理远程计算机上的任务,而不必直接与旧的2008服务器交互


<> P>关于任务调度器API的更多信息:

可以考虑通过安装WMF 2和3更新POWER SUBR。 执行
get-scheduledtask
并将其导入
Where对象中。阅读和

抱歉,我误解了您的计算机上没有计划任务cmdlet