从Win2003升级到2008之后,把服务器要运行的计划任务也导入进去,好久没有看过,今天打开任务计划,弹出了下面的对话框【该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)】。这是怎么回事,查询了网上的资料,按以下方法解决。
解决办法:
1. 以管理员身份运行命令提示符并执行命令
chcp 437
schtasks /query /v | find /i “ERROR: Task cannot be loaded:”
2. 该命令将返回损坏的任务计划程序名称.
3. 请记录下损坏的计划任务名称.英文貌似是 cannot be loaded ,记不清楚了。
以上方案来自网络,本文中只是使用该命令查找错误的计划任务,请先完成上面的操作,然后我们一个一个找出来进行修复。
如上面所示,如SessionAgent这个任务损坏
① 我们需要到C:\Windows\System32\Tasks 这个文件夹里面进行搜索,把它所在的文件夹记录下面。
对应在任务计划里面的位置是:Microsoft\Windows\SideShow。
② 我们把这个SessionAgent的文件,剪切到别的地方,对的!是剪切,不是复制。比如剪切到桌面。
③ 把SessionAgent这个文件改成SessionAgent.xml,把文件改成XML文件。
④ 再到任务计划里面定位到刚才的位置:Microsoft\Windows\SideShow
点击导入任务,把刚才桌面的SessionAgent.xml导入即可。如果导入时弹出错误对话框,一般是版本号不对,我们直接打开文件,把里面的版本号修改一下即可。
如上图,把1.5改成1.3就可以了。记得保存文件(Ctrl+S)!然后再次导入,然后就成功把任务导入进去了。
然后对每一个损坏的任务都需要这样的操作。不小心导入错位置其实也可以的。任务计划里面的文件夹的位置其实只是为了方便管理而已。
方法就是这么简单,把所有损坏的任务一一恢复。然后就不会再弹出第一个图片那个错误了。