# "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" } %} # install all printer driver inf files "PNPUtil.exe /add-driver \\\\ucs\\software\\drivers\\printers\\*.inf /subdirs /install": cmd.run: - shell: powershell # 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 '{{ printer | replace('_', ' ')}}' -PortName 'http://ucs.sawtooth.claremontmakerspace.org:631/printers/{{ printer }}' -DriverName '{{ driver }}'": cmd.run: - shell: powershell - unless: Get-Printer -Name '{{ printer | replace('_', ' ') }}' {% endfor %} # enable duplexer for Classroom HP "Set-PrinterProperty -PrinterName 'ClassroomColor HP' -PropertyName Config:DuplexUnit -Value Installed": cmd.run: - shell: powershell - unless: - if ($(Get-PrinterProperty -PrinterName "ClassroomColor HP" -PropertyName Config:DuplexUnit).value -eq "Installed") { exit 0 } else { exit 1 }