?
Solved

Script to enable auto recovery?

Posted on 2007-12-05
6
Medium Priority
?
394 Views
Last Modified: 2012-06-27
We have a few printers that are causing the print spooler service on computers around the company to stop.

Is there a way to script a logon file that can set the recovery options under the print spooler service to automatically restart if failed and set the option for delay to 3 minutes?

0
Comment
Question by:Brent
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 7

Expert Comment

by:avatar-e
ID: 20412689
This script keeps prints spooler alive, checking every 3 minutes
' ReStartService.vbs
' Sample script to Stop or Start a Service
' www.computerperformance.co.uk/
' Created by Guy Thomas December 2005 Version 2.4
' -------------------------------------------------------' 
Option Explicit
Dim objWMIService, objItem, objService
Dim colListOfServices, strComputer, strService, intSleep 
strComputer = "."
intSleep = 180000
'WScript.Echo " Click OK, then wait " & intSleep & " milliseconds" 
 
'On Error Resume Next
' NB strService is case sensitive.
strService = " 'Spooler' "
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ="_
& strService & " ")
 
While true
For Each objService in colListOfServices
objService.StartService()
WSCript.Sleep intSleep
Next 
wend
WScript.Echo "Your "& strService & " service has Started" 
WScript.Quit
' End of Example WMI script to Start / Stop services

Open in new window

0
 
LVL 7

Expert Comment

by:avatar-e
ID: 20412698
Save to a VBS file and double click it (or put in the startup folder in the faulty print server)
0
 
LVL 8

Author Comment

by:Brent
ID: 20412756
Thats a nifty script... question though.

I would be using this for computers in which users login.   If its apart of the login script, wouldnt it cause mutliple instances of this script to run?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 7

Expert Comment

by:avatar-e
ID: 20413413
You can put the script just in the admin account to start it once, on the startup folder in start menu / programs. (If you start as admin first).

0
 
LVL 7

Accepted Solution

by:
avatar-e earned 2000 total points
ID: 20413529
Anyways I modified the code a bit, now only last instance will survive, so you can run many time as you like without the worry of having thousand instances running
' ReStartService.vbs
' Sample script to Stop or Start a Service
' www.computerperformance.co.uk/
' Created by Guy Thomas December 2005 Version 2.4
' -------------------------------------------------------' 
Option Explicit
Dim WshShell
set WshShell = CreateObject("wscript.Shell")
Dim objWMIService, objItem, objService
Dim colListOfServices, strComputer, strService, intSleep 
strComputer = "."
intSleep = 180000
'On Error Resume Next
strService = " 'Spooler' "
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ="_
& strService & " ")
 
Dim myProcId
randomize
myProcId = "SpoolerAlive_" & Int(Rnd()*99999) & "_" & Int(Rnd()*99999)
Dim lastProcessId
lastProcessId = myProcId
Dim myReg 
myReg = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Spooler_alive_last"
WshShell.RegWrite myReg, myProcId
 
While lastProcessId = myProcId
	lastProcessId = ""
	For Each objService in colListOfServices
		objService.StartService()
		WSCript.Sleep intSleep
	Next 
	lastProcessId =WshShell.RegRead(myReg)
wend
WScript.Quit
' End of Example WMI script to Start / Stop services

Open in new window

0
 
LVL 8

Author Closing Comment

by:Brent
ID: 31412873
Thanks.. not exactly what i wanted, but its actually a better solution :)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article summaries thoughts and ideas from two years of sustained use. It provides good reasoning to make the jump to Windows 10.
Configuring Remote Assistance for use with SCCM
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Suggested Courses

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question