当网络打印服务器打印量很大或者打印数据过大时,经常容易造成Spooler服务意外终止,尤其是喷墨打印机最容易塞死Spooler服务。作为企业IT管理员,这些事情太琐碎,多了也会烦躁。只好写写脚本减轻自己的工作负担。

用脚本去检测打印服务状态,利用计划任务实现循环检测,频率不必太高,5分钟一次就够了。

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery ("Select * from Win32_Service where Name='Spooler'")
For Each objService in colRunningServices
 If not objService.StartMode = "Automatic" Then
 objService.ChangeStartMode("Automatic")
  If not objService.State = "Running" Then
  objService.StartService() 
  End If
 End If
Next

PS:附件提供代码下载