笔者之前曾多次遇见打印机不能正常安装打印故障,解决此问题,着实让笔者很是费了些功夫,在此写出来供众多读者分享。
某日,笔者接到某部室电话,说打印机不能打印,笔者之前遇见过不能打印类似情况,大多是由驱动程序、打印机自身硬件问题而引起,排除故障容易,笔者带上工具前往出“事”电脑,点击“打印测试页”,打印机没有任何反应,结果在“打印机和传真”属性里面查看时,发现里面的打印机安装信息不见了,笔者简单以为,肯定是由于使用人员使用不当,误删除了打印机的安装信息,或者是打印机接口问题,找来了打印机的安装光盘后,却发现不能正常安装,提示“操作无法完成,打印机后台程序没有运行”的错误信息,从网上重新下载新驱动安装后,故障信旧,笔者于时打开进程管理器,发现没有spoolsv这个进程,该文件可是负责打印机服务管理呀,默认情况下,不管安没安装打印机,该文件都是作为系统服务自动启动。笔者又打开“系统服务”程序,发现里面的“print spooler”服务,被意外地终止了,手工启动该服务,又出现“本地计算机,无法启动print spooler服务,错误5:拒绝访问”的错误信息,难道该文个件被误删了?(很多病毒会自动删除此文件,只要重新复制一个正确的文件,打印就会恢复正常)带着疑问打开了system32文件夹,发现spoolsv.exe这个文件,不管从文件大小,还是创建日期都很正常。
笔者之前没有找到真正原因时,大多时间是通过重新安装操作系统来解决此问题,但是过几天后故障再次频繁出现,对此笔者不得不考虑打印机的硬件和系统病毒方面的原因了。通过仔细思考和比对,笔者确认打印机硬件没有问题,于是系统病毒的嫌疑就最大了,既然不能打印,那就先从其它电脑上复制或本机windows\system32\dllcache目录下复制spoolsv.exe文件,复制完后打印服务能够启动,打印安装信息恢复正常,看来问题还真出在该文件上,通过笔者认真分析和研究,发现此文件为病毒文件,病毒程序通过修改系统日期和时间来达到此文件创建日期正常,再把文件大小设成跟系统文件一样,着实把笔者给“忽悠”了一把。在完全清除其它病毒体,复制正确的打印文件后,打印恢复正常。
 此类病毒广泛流行,危害性较大,给系统维护人员带来了很多的管理不便,试想一下,如果一个单位电脑中此类病毒多且频繁,管理人员得花众多功夫来维护,笔者根据自己的管理经验,自己写了点批处理程序,在autoexec.bat里面加入些语句从而解决了此问题,首先用记事本打开编辑c盘根目录下autoexec.bat文件(该文件默认是隐藏和只读属性,得先去掉),其次在里面依次加入:
@echo off
Taskkill /im spoolsv.exe /f
echo Wscript.sleep 5000 >y.vbs
call y.vbs &del y.vbs
If exist c:\windows\system32\spoolsv.exe del c:\windows\system32\spoolsv.exe
if not exist c:\windows\system32\spoolsv.exe copy c:\windows\system32\dllcache\spoolsv.exe c:\windows\system32
第一条语句是关闭屏幕回显,不让后面的程序运行结果显示出来,免得别人以为是病毒在运行。第二条语句是强行中止spoolsv.exe文件进程。第三、四两条是起着一个延时作用,在这里是延时5秒钟,如果不延时,刚结束进程,spoolsv.exe文件是不能删除的。第五的条语句是先检查判断c:\windows\system32\spoolsv.exe文件是否存在,如果存在不管该文件是否带毒都先删掉它,第六条语句同理是先判断该文件是否存在,如果不存在就从dllcache目录里面复制一个正确的文件,该文件存放的路径是人为设定的,读者可以根据不同所需把正确文件放置在不同位置,最后根据所需可以将autoexec.bat这个批处理文件加入到系统启动项或者组策略里面的启动里面自动运行,也可以出现此类问题后而手工运行,这要根据笔者喜好自行选定。

文章如转载,请注明转载自:http://www.5iadmin.com/post/22.html