Skip to content

Instantly share code, notes, and snippets.

@adamchilcott
Last active March 24, 2021 05:33
Show Gist options
  • Save adamchilcott/254324ede64ced4319c1db38af698f29 to your computer and use it in GitHub Desktop.
Save adamchilcott/254324ede64ced4319c1db38af698f29 to your computer and use it in GitHub Desktop.
smbMediaArts.sh
#!/usr/bin/env bash
####################################
# EPSON SureColor P7070 - Media Arts
####################################
#################
# Clear The Queue
#################
lpstat -v | awk '/Art_Media/{print substr($3,1,length($3)-1)}' | xargs -I{} lpadmin -x {}
###################
# Configure Printer
###################
printerName='Art_Media_Arts_Colour'
printerURI='smb://PAPERCUT-SVR.lcgs.local/Art_Media_Arts_Colour'
printerDescription='Art - Media Arts (Colour)'
printerLocation='Media Arts Classroom'
printerModel='/Library/Printers/PPDs/Contents/Resources/EPSON SC-P7000 Series.gz'
#################
# Configure Queue
#################
lpadmin\
-p "$printerName"\
-E \
-v "$printerURI"\
-D "$printerDescription"\
-L "$printerLocation"\
-m "$printerModel"\
-o auth-info-required=negotiate
# -o auth-info-required=negotiate
# -o auth-info-required=username,password
#############
# START NOTES
#############
## Bash Accepts URL Encodings
## This is required for the 'printerURI' Variable
## <https://www.urlencoder.org>
## Prompting for passwords
## As IPP/IPPS is an unauthenticated protocol. When using CUPS, PaperCut Mobility handles the authentication. This is controlled by the
## following command line argument: -o auth-info-required=username,password
## You might want to change this to negotiate, which in some scenarios may prompt for the username and password less.
## <https://www.papercut.com/kb/Main/UseJamfProToDeployPrintersOnManagedMacOSDevices>
# 2-clause license ("Simplified BSD License" or "FreeBSD License")
#
# Copyright © 2019, Adam Brian Chilcott
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of the FreeBSD Project.
###########
# END NOTES
###########
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment