Looks like a nice solution. Unfortuantly a lot of people didn't get the mail (via the listserver) due to the VBScripting that was in it. I would suggest to the people who want to get the vbSCripting code to check it out on the listserver's archive. (http://archive.woodstone.nu)
(direct link to the mail is (for the moment): http://archive.woodstone.nu/retrievemsg.asp?ID=5276) dirk. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Niels Putzer Sent: Fri Sep 27 12:00 PM To: [EMAIL PROTECTED] Subject: RE: [SA-list] Check NT spool queues Hi ! For a customer I did once a special check of print queues. My work is unfortunate company property so I can't exactly tell how I did it, but I can tell the following (and it dosn't matter in fact what monitoring program you use as long as it supports external check): Pre-requisites 1. You must have a AD structure where all objects are registered 2. Some knowledgde on how to write windows scripting files for AD (as JAVA og as VBS) 3. Windows scriptiong host installed 4. User executing the script should have read rights to the informations in the domain (to be sure everything is working a user with Domain Admin would be ok) What can be done: With the following VBS command: <some VBS code> Ok, but how can this help finding a stuck print queue? You do two succesive checks (lets say with 5 min between each). In each check you only record the information for the first job in the queue (you can determine if it is the first job by checking PrintJob.Position = 1). You now compare the two set of information: If PrintJob.Name is different the queue is moving = OK If PrintJob.Name not is different check if any one of the following changed: PrintJob.Size, PrintJob.TotalPages and PrintJob.PagesPrinted If the values changed the queue is still moving = OK If they did not change the queue is stuck = ERROR If you monitor a print job during execution (and if all is working) the following should happen: 1. You submit a Job: The TotalPages and Size should increase until all pages are submitted to the spooler. 2. After the spooler has recived all and starts sending it to the printer: The PagesPrinted should increase and at some point be equal to the original pages submitted AND (this is important to remember otherwise it can be confusing) the TotalPages counter DECREASES and should reach 0 after all pages are printed. 3. After all pages are submitted to the printer the job should be deleted from the queue. For modern printers with lots of RAM and on fast networks step 2 and 3 should take no more then some minutes even for large jobs. How can this help in Servers Alive? with: <vbs command> you can get a VBS script to set the errorlevel return value of eg. a batch file (I called the VBS script from inside a batch file that again was called from the SA external check function). If all is OK only the JobCount in the queue is returned if i get an error i add eg. 10000 to the return value and have SA to trigger on errorlevel above 10000 (I have yet to encounter a print queue where there where more than 10000 jobs waiting to be printed). Doing it this way has several advantages over checking files in the spool directory: 1. You do not care where the spool directory is 2. You can target each queue on a server seperatly even if all use the default spool dir 3. You can even get information about how many jobs are currently in queue (may be for statistical reasons - what printers are used a lot etc.) This was just my little input to the print check debate - and I hope you can use the idea. I have had no complains from the cutomer I developed this for :-) I can not and will not give more detailed information about how exactly my program looks. You can of course always conract my company if you whant to get my work in detail - we are not that expensive ;-) One final thought: it is even possible as an automated action to delete the first job in a queue if it appears to be stuck and see if the queue starts moving again or the most drastical autmoated response would be to purge the enture queue. Bot can be scripted. Regards Niels Putzer Jack Lyons To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> <jack.lyons@mart cc: inagency.com> Subject: RE: [SA-list] Check NT spool queues Sent by: salive-owner@woo dstone.nu 26-09-2002 16:41 Please respond to salive you can verify the spool directory by looking in the registry: for all printers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\DefaultSp oolDirectory for individual printers go to the correct printer key undereneath above and look at SpoolDirectory > -----Original Message----- > From: Peter Hoermann [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 26, 2002 8:38 AM > To: '[EMAIL PROTECTED]' > Subject: RE: [SA-list] Check NT spool queues > > > Since NT uses 2 files in the spool directory for each file > printed, you need > to use double the amount of files as a check in spool directory. > > 15 "jobs" is 30 files. (1 being a *.spl and one being a *.shd) > > Spool directories by "default" (some admins don't like their spool > directories located on the same partition as their system > drive) are kept in > the following path > > \\server-name\winnt\system32\spool\printers > > do your count files on this dir > > Peter > > -----Original Message----- > From: Dirk Bulinckx [mailto:[EMAIL PROTECTED]] > Sent: Thursday, 26 September 2002 10:50 > To: [EMAIL PROTECTED] > Subject: RE: [SA-list] Check NT spool queues > > > Countfiles count's files. Not sure how the NT spool is > working, if they > would have files somewere it could help. > I should be possible to check the spool length using a > perfmon check or > using SNMP. > > > > dirk. > > > dirk. > > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On > Behalf Of [EMAIL PROTECTED] > Sent: Thu Sep 26 10:47 AM > To: [EMAIL PROTECTED] > Subject: [SA-list] Check NT spool queues > > > Anyone had any sucess using Servers Alive checking NT spool > queue (prints)? > I want to be alerted when a printer has more than X jobs in the queue > > Can the addon CountFiles be used, if so anyone knows how? > > > Let's say you have a mailserver that uses a spool directory. > If the mail > server > is running correctly, it should deliver the mail within 5 > minutes to the > internet. But since sometimes the mail service runs, and > still the mail > server > isn't running correctly, it's not enough to check the mail > server service. > It > would be nice to be able to check the number of files in the > mail server's > spooldirectory and have Servers Alive warn you when more the > 200 files are > in > that directory. > > > By using a combination of the external check of Servers and > COUNTFILES.EXE > it's > now possible. > > > > > > > To unsubscribe from a list, send a mail message to > [EMAIL PROTECTED] > With the following in the body of the message: > unsubscribe SAlive > > > > To unsubscribe from a list, send a mail message to > [EMAIL PROTECTED] > With the following in the body of the message: > unsubscribe SAlive > To unsubscribe from a list, send a mail message to > [EMAIL PROTECTED] > With the following in the body of the message: > unsubscribe SAlive > This email and its contents may be confidential. If it is and you are not the intended recipient, please do not disclose or use the information within this email or its attachments. If you have received this email in error, please delete it immediately. Thank you. To unsubscribe from a list, send a mail message to [EMAIL PROTECTED] With the following in the body of the message: unsubscribe SAlive To unsubscribe from a list, send a mail message to [EMAIL PROTECTED] With the following in the body of the message: unsubscribe SAlive To unsubscribe from a list, send a mail message to [EMAIL PROTECTED] With the following in the body of the message: unsubscribe SAlive
