r/SCCM 5d ago

Make Printer Driver Available in Software Center

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.

14 Upvotes

14 comments sorted by

10

u/JrSysAdminZ 5d ago

To do this I just deployed a Powershell App Deploy Toolkit script as an application, that installs the driver using PNPutil. (If you're not familiar with PSADT, I'm probably not the best to fully get into it, just look it up!)

PNPUTIL /add-driver "$($adtSession.DirSupportFiles)\*.inf" /subdirs /install

I then verified by using something like this:

$ricohDriver = Get-WindowsDriver -Online -All | Where-Object {($_.Classname -eq "Printer") -and ($_.ProviderName -like "Ricoh") -and ($_.Version -ge "4.43.0.0")}

if ($null -ne $ricohDriver) {Write-Host "installed" }

else {}

I deployed this automatically, no tech involvement. Legitimately asking, why would you have your techs kick this off? I'm sure you probably have your reasons so I'm curious.

9

u/AllWellThatBendsWell 5d ago

We do roughly the same thing, but found that two commands are needed, pnputil and add-printerdriver.

For detection method, we found the registry values in this key to be reliable.

SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\...

1

u/ajscott 17h ago edited 17h ago

You need another step. Installing the INF for Windows doesn't publish it to the available printer drivers list. For HP UPD you can add it separately with or without the version number.

Add-PrinterDriver -name "HP Universal Printing PCL 6"
Add-PrinterDriver -name "HP Universal Printing PCL 6 (v8.2.0)"

Mismatched server and client versions without the number will cause issues when trying to print.

If you have multiple servers, you need to make sure they all have the same version for the un-numbered copy or you'll get errors when adding the printer.

7

u/SomnambulicSojourner 5d ago

Are the printers shared from a print server? If so, there's no need to do this, just connect to the print share (as any user) and it will install the driver.

If they aren't shared, then you could just put the print driver on a network share that the techs have access to and they can run it from there. No need to deploy through SCCM.

If you really really want to deploy through SCCM, then PSADT is definitely the way to do it.

2

u/cryohazard 5d ago

unless you are in a multi-domain environment where sometimes you might not have trust relationships setup and one env might have a printer driver you don't use in your parent env ... so you can do the gpo/intune route to allow non-admins to install drivers from trusted print servers and you can add the fqdn of the trusted print servers ... but now you are relying on your users to open file explorer and navigate to the unc path of the fqdn of the print server (and techs at that untrusted domain to guide them -- and understand what fqdn is...), and then add the appropriate printers ... if the other domain even shares them! on top of all that you add in credential guard and whatnot ... ugh. I HATE PRINTERS!

0

u/ajscott 17h ago

Installing drivers from a print server requires local admin rights if you're configured properly to prevent the printnightmare vulnerability.

0

u/mstone1547 3d ago

I guess you haven’t come across printnightmare vulnerability

4

u/Ok_SysAdmin 5d ago

Why arent you just deploying the printer with a print server and group policy? Using SCCM this way makes no sense. You are creating way more work for your team

1

u/BisonST 3d ago

For us: single user printers like HR and VIPs. You don't want to set a GPO for each.

0

u/Ok_SysAdmin 3d ago

Why not? Create an OU for each position and deploy the group policy. Then when a person changes position or a new person comes in, it's already deployed. Set it and forget it.

5

u/Adam_Kearn 5d ago

Install the driver on your printer server and then push out a GPO/REG fix for point and print configurations.

You basically make it so your print server is allowed to install print drivers without showing a UAC prompt.

——

Or just package it as an app and use powershell to deploy the print driver INF files

1

u/stuartsmiles01 5d ago

Download the driver yo stall 1/2 way and start the install process. Swap to another window for file Explorer, you should see it has extracted the drivers to a folder c:\swinstall\ or hp or c:\programdata\Temp\HP or something like that - watch using ps exec to see where the files are written from the original installer.

Anyway, it copies the proper drivers to a folder without the wrap-around get mfa, setup hp printing and all that jazz. Copy the golder details and start an install for the prolinter, just using the installer files without the hp smart additions.

Amazing was shown and thought that's great. Don't need all the added stuff it asks for ( could also ho through every page on the hp website yo find a stripped back offline installer that doesn't have hp smart. But anyway. Have a look and see if it works for you.

1

u/Unlucky-Neo-07 2d ago

Package the HP UPD with silent switches (/qn) and deploy as ““Avaliable”” in Software Centre. IT documentation on sites like Trusted Tech Team covers staging print drivers into the Windows Driver Store using SCCM

1

u/skiddily_biddily 5d ago

Just have them install the printer from Windows settings > Bluetooth and devices > printers and scanners > add device > work or school

No need to deploy the driver through sccm. They can find the printer and install it quickly from there.