It's kind of brute force, but simply removing the printers.conf file will
On Wed, Nov 10, 2010 at 10:55 AM, James Fuller <JaFuller at starbucks.com>wrote:
work:
rm -rf /etc/cups/printers.conf
Then a restart of the CUPS process:
killall cupsd
Unless someone else has another idea. :-)
Steve Wood
Director of IT
swood at integer.com
The Integer Group | 1999 Bryan St. | Ste. 1700 | Dallas, TX 75201
T 214.758.6813 | F 214.758.6901 | C 940.312.2475
I believe this gets the job done...
rm -f /etc/cups/printers.conf
rm -f /etc/cups/ppd/*
This is what we use.
---------------------------------------------------
#This script is to clear out the printers file
#written by Maura Fennelly
# 2010-02-11
killall cupsd
mv /etc/cups/printers.conf /etc/cups/printers.old
cupsd
we used that same solution for a very long time in our pre-casper days.
now all of our printers are managed through the JSS.
The command seems to work pretty well, but like you said, it's brute
force. That just means it won't care is stuff is in use - it just blasts
it away regardless.
ben janowski
Senior Macintosh Support Technician
Kohl's Mac Support Team
262.703.1396 | benjamin.janowski at kohls.com
I generally do these via ARD but the commands script fine. you need to know the print queue names, but I have found that extraneous queues listed just get ignored so I often build out lists with a slew of known queues.
to cancel all current jobs (the labs get this as a logout policy... kids love sending bad jobs to printers) and make sure the existing queues are enabled:
cancel -a
cupsenable print queue goes here
I also use lpstat -a
this will list the current queues and the status of them. handy for the random "I can't print" call
We lay down printers via MCX so I use: lpadmin -x print queue goes here (mcx_0 etc...). this is helpful is there is a driver update or hardware has been replaced.
rudimentary I know, but my scripting kung fu is weak.
I needed to do this a while ago and here is what I came up with. It takes
the name of the printer from the PPD filename and then removes it using
lpadmin.
#!/bin/bash
for printer in `ls /etc/cups/ppd | cut -d . -f1`; do
lpadmin -x $printer
done
exit 0
Ryan M. Manly
Glenbrook High Schools