Controle de impressões dos usuários do Active Directory

Estou precisando desenvolver um controle de impressões. Gostaria de identificar o usuário do Active Directory (Windows 2008), contar o número de páginas impressas e impedir a impressão quanto o usuário zerar sua cota. Qual o grau de dificuldade de um programa desses? Sei que existem sistemas pagos que fazem isso (como o Papercut), mas se existirem classes que fáceis de usar para este fim, eu até posso fazer. Alguém já fez algo parecido?

Procurei um sistema desses a um tempo atrás… Acho que o problema principal é criar um “componente” que fique entre os spooler de impressão e o aplicativo. Vai funcionar tipo um driver do SO.

Em c# da para fazer. Veja o link abaixo.