March 2, 2024

Citrix Workflow Studio – Does it add capabilities that we didn’t have before?

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:

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 = ""
objMessage.To = ""
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 _
("") = 2

'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item _
("") = _
& ""

'Server port (typically 25)
objMessage.Configuration.Fields.Item _
("") = 25


'==End remote SMTP server configuration section==


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:

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.