繁体   English   中英

Windows 2008 Server计划的任务

[英]Windows 2008 Server Scheduled Task

我开发了一个脚本来提取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服务器进行交互。

有关Task Scheduler API的更多信息,请参见: https : //msdn.microsoft.com/zh-cn/library/windows/desktop/aa384006(v=vs.85).aspx

您可以考虑通过安装WMF 2.0和3.0更新PowerShell。

执行get- scheduledtask Where-Object get- scheduledtask并将其通过管道get- scheduledtaskWhere-Object 阅读https://technet.microsoft.com/en-us/library/jj649816(v=wps.630).aspxhttps://technet.microsoft.com/en-us/library/ee177028.aspx

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM