2 Replies Latest reply: May 9, 2012 6:47 AM by varjak paw
David Wickemeyer Level 1 Level 1 (5 points)

I manage about 200 computers for a middle school and due to printers going offline and new printers coming online, I need to change the printer list in System Preferences > Print & Fax in all the computers and multiple accounts on each computer. I tried replacing the printer folder in /Users/"name"/Library; the plist files in /Users/"name"/Library/preferences; and the plist file in /Library/Printers and nothing as worked.


Any suggestions or can you supply a link to the answer.

  • chicster Level 2 Level 2 (200 points)

    I wanted to know this forever and then saw it in a thread a while ago.


    The link is of all places ARD help.  Just type print in the help  window in ARD and select "Set Printer Preferences in Remote Desktop."


    It involves setting up one computer like you want it and then it tells you the files to copy to the others.  I used it and it worked great.



  • varjak paw Level 10 Level 10 (169,815 points)

    Here's the shell script for removing and adding printers courtesy of another poster. I haven't tried it recently but it may still work in more recent versions of OS X. Obviously you'll want to test on a single system first. The following notes are also from that other poster:




    #removing all printers on the system


    #get list of all currently installed printers


    array1=( $(lpstat -a | awk '{print $1}') )


    #loop through the array


    for x in "${array1[@]}"


    lpstat -x $x



    #printer name to add





    lpadmin -p $printer -E -v lpd://your.printer.here/queuename -m $modelname


    A couple of notes: you could pick up the names instead of setting them in the script via passed arguments. Also, to get the correct form of adding a printer via afp, I would suggest adding one locally, and seeing what form is needed by lpadmin.


    To disable print sharing, all you need to do is to push over a cupsd.conf file, which does not have print sharing enabled. Next, HUP the cups daemon, so that it will re-read it's config file, i.e.


    killall -HUP cups