Mac OS X Server 10.3: Setting default print job status to hold

In Mac OS X Server 10.2, there is a "Hold" setting that allows the Print Server queue to hold jobs indefinitely when received by the server. When set, an administrator must explicitly allow each job to print.
This setting does not appear in the graphical user interface of Mac OS X Server 10.3, but you can still make this setting at the command line. Follow these steps:

  1. Be sure the Print Service is stopped.
  2. Determine the ID of each print queue by executing this command in Terminal:

    $ sudo serveradmin settings print
    

    This will print out the Queue Data Array, including lines for each queue that look like this:

    print:queuesArray:_array_id:CE54AB2C-1401-4B3B-77E5-1AC38522FF0B:
    quotasEnforced = no
    

  3. The long item between the colons that starts "CE54" is the array ID. You'll need to copy this ID for each queue you want to edit.
  4. Then enter this command:

    $ sudo serveradmin settings
    

    This will give you a blank prompt.

  5. Type the following command for each queue, substituting the proper array ID:

    print:queuesArray:_array_id:CE54AB2C-1401-4B3B-77E5-1AC38522FF0B:
    defaultJobState = "HOLD"
    

  6. When you're finished, press Control-D to exit, and restart the Print Service.

Published Date: Oct 10, 2016