I ran across an article about how to use Citrix Workflow Studio to alert when the print spooler service crashes.
You can find that article here:
http://support.citrix.com/article/ctx119979
Kind of interesting… I know that it isn’t a “new” type of process… But do you need the Workflow Studio to do this? Absolutely not.
I wrote a script about 3 years ago, that let’s me know when print spoolers crash, and then can restart the spooler. Here is a sample (not the code I’m using, but similar)
'********************************
'* Citrix Printer Warning Script
'* printwarn.vbs
'* 'simple version'
'* 2/5/2009
'********************************
'Setup the normal VBS Wscript Stuff
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
'Grab the ComputerName
strComputerName = WshNetwork.ComputerName
'Setup the Commands
strStopCmd = "net stop spooler"
strStartCmd = "net start spooler"
'Stop the Spooler
Set objExec = wshshell.Exec(strStopCmd)
'Start the Spooler
Set objExec = wshshell.Exec(strStartCmd)
'Setup the mail
Set objMessage = CreateObject("CDO.Message")
objMessage.From = "from@domain.com"
objMessage.To = "to@domain.com"
objMessage.Subject = strComputername _
& " has a print spooler service issue"
objMessage.Textbody = strComputername _
& " has a print spooler service issue"
'We are talking to a remote SMTP server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
& "mail.domain.com"
'Server port (typically 25)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
'==End remote SMTP server configuration section==
objMessage.Send
Now what do I need to do to have this fire off?
I made a batch file called “citrixprintwarning.bat”, and put it somewhere on my C: drive. This is the file that will execute the vbs.
Here are the simple contents:
c:printerwarn.vbs
Now I set the Windows Print Spooler Service Recovery options to run the batch file in the event of a failure.
When things fail, I get an e-mail, and the service gets restarted.
I actually got a little fancy with my prod script. I pull a list of users on the system, so I can try to track down whether I have a user that is constantly causing issues or not.
And I didn’t have to get the Citrix Workflow Studio to do it.