Generically install multiple defined printers

This commit is contained in:
Adam Goldsmith 2024-06-12 11:09:34 -04:00
parent 89b7e68758
commit 19ec8f9caa

View File

@ -1,17 +1,31 @@
# install the driver inf
"PNPUtil.exe /add-driver \\\\ucs\\software\\drivers\\dell\\c2660dn_PS\\DLPRFAL.inf /install":
cmd.run:
- shell: powershell
- unless: Get-PrinterDriver -Name 'Dell C2660dn Color Laser PS'
# "ClassroomColor": "Dell C2660dn Color Laser PS",
{% set printers = {
"ClassroomColor_HP": "HP LJ300-400 color M351-M451 PCL6 Class Driver",
"Classroom_MFP": "Brother MFC-9970CDW Printer"
}
%}
# add the driver as a printer driver
"Add-PrinterDriver -Name 'Dell C2660dn Color Laser PS'":
# install all printer driver inf files
"PNPUtil.exe /add-driver \\\\ucs\\software\\drivers\\printers\\*.inf /subdirs /install":
cmd.run:
- shell: powershell
- unless: Get-PrinterDriver -Name 'Dell C2660dn Color Laser PS'
# TODO: ideally would actually check for success better
- success_retcodes: [1]
{% for printer, driver in printers.items() %}
# add the driver as a printer driver
"Add-PrinterDriver -Name '{{ driver }}'":
cmd.run:
- shell: powershell
- unless: Get-PrinterDriver -Name '{{ driver }}'
# add the printer
"Add-Printer -Name ClassroomColor -PortName 'http://ucs.sawtooth.claremontmakerspace.org:631/printers/ClassroomColor' -DriverName 'Dell C2660dn Color Laser PS'":
"Add-Printer -Name '{{ printer | replace('_', ' ')}}' -PortName 'http://ucs.sawtooth.claremontmakerspace.org:631/printers/{{ printer }}' -DriverName '{{ driver }}'":
cmd.run:
- shell: powershell
- unless: Get-Printer -Name '{{ printer | replace('_', ' ') }}'
{% endfor %}
cmd.run:
- shell: powershell
- unless: Get-Printer -Name ClassroomColor