Solved

Script to enable auto recovery?

Posted on 2007-12-05
6
390 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
Easy, flexible multimedia distribution & control

Coming soon!  Ideal for large-scale A/V applications, ATEN's VM3200 Modular Matrix Switch is an all-in-one solution that simplifies video wall integration. Easily customize display layouts to see what you want, how you want it in 4k.

 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Two "Pin to Start…" options in Windows 10 4 33
Identify two keyboard codes and how to enter them 9 53
Auto-launch VPN via Wifi 7 49
Sony EVI-D70 and Skype 2 32
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…
Learn how to PXE Boot both BIOS & UEFI machines with DHCP Policies and Custom Vendor Classes
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

790 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