Solved

Script to enable auto recovery?

Posted on 2007-12-05
6
386 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:Icetoad
  • 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:Icetoad
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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
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 500 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:Icetoad
ID: 31412873
Thanks.. not exactly what i wanted, but its actually a better solution :)
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

A Bare Metal Image backup allows for the restore of an entire system to a similar or dissimilar hardware. They are highly useful for migrations and disaster recovery. Bare Metal Image backups support Full and Incremental backups. Differential backup…
Possible fixes for Windows 7 and Windows Server 2008 updating problem. Solutions mentioned are from Microsoft themselves. I started a case with them from our Microsoft Silver Partner option to open a case and get direct support from Microsoft. If s…
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…
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…

747 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now