Slashdot Mirror


Print Quotas Under NT?

AmiOtaku asks: "I am a student lab coordinator for Southwest Texas State University and I was wondering if anyone could help me. I'm looking for a way to limiting printing in several of my labs. Print Quota Manager and Print Manager Plus do not suit our needs. Both fail to obtain a list of users from our NT domain. Our server is not the primary domain controller for the campus, just the domain controller for our domain which has a trust relationship with the main domain for campus, but is not trusted, which is why both seem to fail in getting a list of user names. Anyway, if I could find a way to simply limit each print job to under X amount of pages, that would be a great help. Keeping a log of users and enforcing quotas would be nice but is really optional. Any ideas?" Before anyone starts delving into OS advocacy, I think it poignant to note that we did this same question for Linux, just last week.

22 comments

  1. I'm not an NT admin... by adamy · · Score: 0

    But it seems that you don't need the complete list from the PDC, you just need to keep a list of people who request print jobs. Most things are scriptable in NT, or so I've been told, so what I would think you would want to do is:

    1) INtercept a print request.
    2) Check agains a local Database for the username, if it is not in there, add it. Might as well use the registry, everything else does :)
    3)Next to each user name, add values for the daily quota and daily amount used, adding the pages from the current print job to the
    amount. A little bit of logic here to not add to someones quota if you are going to deny the request due to quota over run.
    4)If everything checks out, forward the request to the printer.

    I'd call it a security proxy. But then, I read too many design patterns books.

    Yes, you will have to learn how MS printer infrastructure works. Scary.

    Supposedly you can do all that in PERL, but I'd probably go with MSVC++...VB as a last resort. Or maybe C# now that that is the language du jour.

    --
    Open Source Identity Management: FreeIPA.org
    1. Re:I'm not an NT admin... by cdance · · Score: 1

      Your solutions sounds so simple. Unfortunately it's never easy on Windows. If it was Unix then no problem.

      1) Intercept a print request.
      Unix: Easy! Just place your application in the pipe chain in smb.conf or alias lp.
      Windows: Take a few weeks to figure out all the funky Windows API to hook the print job. Then a few more weeks interfacing. No hope of doing this with a scripting language.
      2) Check against a local Database for the username.
      Unix: /etc/passwd and man getuid .... it's all there in plain text.
      Windows: Those API's again..... another two weeks gone. Did I hear you say Active Directory. That just means you have to go and do the whole thing over again!
      3) .... adding the pages from the current print job ....
      Unix: You can count Postscript pages with "grep" on the command line!
      Windows: Try reverse engineering the crud that's produced by proprietary print drivers....
      4) If everything checks out, forward the request to the printer.
      Unix: Just print it to STDOUT down your pipe chain.
      Windows: Those API's again!

      A few years ago when I first started PaperCut, I thought Windows was the "bees knees"... then I learnt Linux. It's model may be "old", but it's also the future!

      Chris
  2. Speaking of Feature bloat by CounterZer0 · · Score: 0, Redundant

    Could this be a feature not built into Win2K? I've googled and searched both technet and MSDN, and can't find a thing mentioning print quotas. It appears this has to managed by a third party product!!

    1. Re:Speaking of Feature bloat by cdance · · Score: 2, Informative

      Yes. Print charging and quote must be managed by 3rd party apps. I don't know if MS plan on introducing it into their OS. Probably not for a while. The problem is that the older Window 9X clients transfer their print jobs to the print server without page count information, so the raw binary printer data must be parsed to extract the page count. Microsoft have control over the file system format, so introducing quote is expected. They don't have control over printer languages and their drivers so implementing a quote solution is a whole different ball game.

  3. Look into Pharos by MaufTarkie · · Score: 1

    It's what we use at my university. It isn't the greatest package in the world, but our CIO swears by it and it hasn't given us too many problems yet.

    --
    Without you I'm one step closer to happiness without violence.
    1. Re:Look into Pharos by eufaula · · Score: 1

      i sure hope that this is better than it used to be. when i was getting my masters degree about 3 years ago the Univ. bought into this program, and quickly gave it up. it was a complete piece of crap. it broke all the time, added levels of complexitiy, and besides, cost a fortune. our campus had about 15,000 students. that might have been the problem, but they said that it would handle our needs. it didnt, and i think that we ended up suing the company over it to get our money back. anyway, i suspect it would work better on a smaller, less complex scale. but this is our experience with it, and by no means the final word.

      while you are at it, check the posting on this subject from last week. some guy mentioned a pretty neat package that intergrated with NT and he was working to open up a UNIX version or something.

  4. Re:ITS CALLED A NEWSGROUP! by Anonymous Coward · · Score: 0

    someone did try google

  5. For Money or Free? by yancey · · Score: 0, Redundant


    I'm not sure about Win32, but Novell Distributed Print Services has code hooks that would allow such monitoring and control.

    You can get the developer documentation for free from Novell's website. If you have a programmer available you could write an in-house solution.

    If that solution worked out, you might be able to make some money from it.

    --
    Ouch! The truth hurts!
  6. You are using the wrong solution. by duffbeer703 · · Score: 2

    What you need is to build a Mac print cluster.

    Macs are faster for floating point operations, and you need good floating point performance for vector printing.

    There is an article about it here. http://www.wired.com/news/technology/0,1282,50078, 00.html

    If you don't like OS X, try running PPC linux or hurd.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
    1. Re:You are using the wrong solution. by jrwillis · · Score: 1

      All that may be true, but I don't think he's in the market for buying new machines. I believe the question was how to do this with NT. IMHO this is like someone asking what is wrong with their car and the mechanic telling them to just buy a new one.

      --
      Keep Austin Weird!
  7. Fix the trust by bemused · · Score: 1

    You can't enumerate users on the PDC as it doesn't trust you. If campus politics stops that being set up, only let Domain Users in your own domain print instead?

    Fixing the system is easier than hacking around it (even if it isn't as much fun).

  8. Texas A&M has a System by Milican · · Score: 2

    Much to my dismay Texas A&M implemented a system a few years back which does just that. You may want to contact their computer group to see if they can help you out. I know their system was cross platform because when I would use their XPRINT system my meter would be incremented. When I used Macs the same deal...

    I'm sure there are others out there, but I'm also pretty sure their system is an in-house solution. Maybe since you are a university and one in Texas at that they will help ya out :)

    Good luck.

    JOhn

  9. Another Option by Anonymous Coward · · Score: 1, Interesting

    I work for a small college in Maine. We have been using Printer Accounting Server (PAS) from a small Canadian company called Software Metrics (http://www.metrics.com) since it was a 1.0 product running on our NT domain. We now have their 2.5.x product installed on our Win2k print server, pulling in usernames from our Win2k Active Directory domain.

    I'm not sure if it will meet your needs, since we have full access to our DCs, but you may want to take a look.

    -BA

    1. Re:Another Option by jamej · · Score: 1

      All colleges in Maine are small, no need for the adjective.

  10. Pcounter works very well by dregs · · Score: 2, Informative

    I have implimented Pcounter a 2 Universities, here in Oz, and works very, very well.

    I started with ver 2 about 7 years ago, and we sent every printjob that counted wrong back to Andy, and he gradually iorned out all the holes that students tried to exploit to get free counting, until, its now almost builtproof.

    go look at www.pcounter.com

    Dave...

    1. Re:Pcounter works very well by Anonymous Coward · · Score: 0

      I'll second this, as well as allowing to account print jobs by user pcounter allows you to limit a print job if there are too many pages or it is too large. It also allows you to stick a job at the end of the queue if it meets certain criteria.

      It certainly works very well in our academic environment and has probably saved a number of trees ...

  11. I'll do my best to help you out. by cdance · · Score: 4, Informative

    It's funny. This is the 2nd Windows related print quota question on Slashdot in the last week! I developed the Windows print charging application PaperCut. I initial put PaperCut together in my final year at Uni as I saw a need for a product that worked. I now do full time Linux/Unix development but keep PaperCut dev going at night and in my somewhat limited spare time. It supports trusted domains as you have described and I (or my fellow developers) would be happy to help you out with any installation technical questions. Also seeing that your a fellow Slashdot reader, I'd be happy to offer you a free copy (free as in fee free. The Open Source Linux version is coming soon ;-) See my post on the related topic last week. ). ~Chris

  12. I Don't know. by jamej · · Score: 1

    I can't help you with your question. But, maybe somebody else can. Was this a helpful post ? JJ