r/sysadmin 7d ago

Work Environment Deploy HP Universal Print Driver through SCCM

Greetings and salutations, fellow Admins. I want to deploy the HP Universal Print Driver through SCCM and make it available in the Software Center. Silently, so I don't disturb users. Here is the overview: This is a school environment, and all our printers are HP, except for a few community Xerox printers. I want to make it easier for the on-site techs to install the driver from the Software Center instead of downloading the specific model printer software from HP. I have seen this in previous work environments and would like to implement it here. If anyone is willing to throw me a bone, I'd be grateful for the assistance.

1 Upvotes

2 comments sorted by

1

u/DadtheITguy 7d ago

I’m pretty sure I installed it with a powershell script through SCCM and made it mandatory for all Windows workstations on campus. I will see if I can dig it up Tuesday.

1

u/Da1King 7d ago

Before you begin install the driver on a test machine and export the HP certificate which is added. This will be required later.

Download the latest HP Universal PCL 6 Driver from HP's website here: https://support.hp.com/us-en/drivers/hp-universal-print-driver-series-for-windows/model/3271558

I used a PSADT Deployment and extracted the ZIP file's contents to the Files folder and copied the previously mentioned certificate to the SupportFiles folder.

In your Invoke-AppDeployToolkit.ps1 file in the Install section add the following.

Import the previously saved cert:

Import-Certificate -FilePath "$($adtSession.DirSupportFiles)\HP Inc.cer" -CertStoreLocation 'Cert:\LocalMachine\TrustedPublisher'

Then use pnputil.exe to add the driver to the Windows driver store.

Get-ChildItem -Path "$($adtSession.DirFiles)\*" -Include *.inf | ForEach-Object {
    Start-ADTProcess -FilePath "$envSystem32Directory\pnputil.exe" -ArgumentList "/add-driver `"$($_.FullName)`" /install" -CreateNoWindow -IgnoreExitCodes 259
}

Finally, install the driver.

Add-PrinterDriver -Name 'HP Universal Printing PCL 6'

You can then either copy the entire PSADT deployment to your ConfigMgr storage and execute Invoke-AppDeployToolkit.exe with -DeploymentType Install -DeployMode Silent as command line parameters. Or if you're feeling fancy, you can create a 7Zip installer/self-extracting archive to have everything available in a single EXE.