你的位置:首页 > 操作系统

[操作系统]该如何处理,启动任务计划的时候有“任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。”


现象:

有一台Windows Server 2008 R2的服务器打开任务计划就会有如题的错误提示。

错误信息如标题所示“任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。”,对应的英文是“task scheduler service is not available. task scheduler will attempt to reconnect to it”。

对于错误信息并没有传统意义上的红色背景白色X的错误信息,仅仅是一个告警信息,并且提到了任务计划程序服务,这就让我联想到任务计划的服务是否此时工作异常。

通过检查服务(services.msc)内的任务计划服务(显示名:Task Scheduler,服务名:Schedule),发现这个服务是一个不能被停启的状态。

image

Figure 1显示“已启动”的服务状态,但是停启不可控

随后通过任务管理器,服务标签下找到具体是哪一个svchost进程,发现这个svchost下有很多可以结束的非系统关键服务,因此我结束了这个svchost进程,随后再去服务(services.msc)内查看任务计划的属性,此时是可控的状态,进行启动后再次打开任务计划,问题依旧。

问题是这么解决的:

虽然问题依旧,但是当我点击确定之后,在任务计划程序库中依旧可以看到原有编写的任务计划,并且通过查看历史,他们的工作状态都是正常的。

image

Figure 2任务计划程序服务不可用的提示信息

因此可以基本确定问题不在于任务计划程序服务本身,通过中英文关键字搜索得到微软的一篇KB2305420,虽然是介绍一个安全更新的后遗症处理方法,但是其中了解到了任务计划程序的工作原理。

平时我们看到的任务计划管理程序(taskschd.msc),实际上是综合了注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule)信息以及实际任务文件库(%SYSTEMDRIVE%\Windows\System32\Tasks)的一个呈现。

因此解决问题的思路就从这两点开始,首先到任务文件库(%SYSTEMDRIVE%\Windows\System32\Tasks)下面查看一下这些任务文件,微软在此处对于破损文件的定义来自于0字节任务文件和有错误标记的任务文件,因此寻找首先寻找有0字节的任务文件。

image

Figure 3在“\Microsoft\Windows\SoftwareProtectionPlatform”路径下可以看到一个0字节的文件,我尝试复制出该文件并打开,被告知无权限

上面截图是我想尝试复制出来并打开的一个想法,但是这个文件被告知无权限打开,好在我手上的服务器资源较多,拷贝了一个该路径下的文件。这个无后缀名的文件实际上是文件结构的,因此本身是可以用记事本等文本编辑器打开的。

现在,我继续打开任务计划管理程序(taskschd.msc),按照路径导航到这里\Microsoft\Windows\SoftwareProtectionPlatform,可以看到问题复现了。

image

Figure 4通过多次刷新,确定这个疑似问题的原点

因为点击确定之后我还是看不到任何任务,这个真的是那个0字节的文件在捣乱,所以我又退回到Figure 3所示的位置,把这个坏文件删除,用刚刚复制过来的好文件,在Figure 4界面下导入任务,多次刷新后,问题解决。

为了进一步判断还有无其他问题原点,我多次关开了任务计划程序,遍历了所有的任务文件夹,发现问题已经解决干净了。

结语:

关于此次问题现象的一些总结:

è  由于任务计划是依赖svchost进程启动的服务,因此上述“错误”信息实际上不会对已有的好的任务计划产生任何干扰

è  任务计划程序本身只是一个管理界面,可以通过他查看任务计划是否在触发器启动的时候执行对应脚本(历史记录标签卡)

è  判断任务计划能否执行,需要确保服务(services.msc)内的任务计划服务(显示名:Task Scheduler,服务名:Schedule)正常运行,所配置环境变量是否正常,可以戳这里看更多

è  仔细检查注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule)信息以及实际任务文件库(%SYSTEMDRIVE%\Windows\System32\Tasks)相关的0字节文件

 

相关可用信息连接:

https://kickthatcomputer.wordpress.com/2014/06/19/task-scheduler-service-is-not-available/

http://www.cnblogs.com/mannyzhoug/archive/2013/05/28/3104030.html

https://support.microsoft.com/zh-cn/kb/2305420

 

-=EOB=-